Choosing a deployment architecture#
フェールオーバーマネージャーは、 Postgres接続プーラーと接続ライブラリを使用して、EDB Postgres Advanced Serverのさまざまな高可用性オプションを提供します。これらのオプションは、高可用性アーキテクチャに影響を与えます。
データベースの高可用性を保証には、フェールオーバーマネージャーのコア機能をPostgres接続ライブラリクライアント接続フェールオーバーおよび接続プーラーと組み合わせることができます。
フェールオーバーマネージャーの機能を使用して、EDBは、高可用性環境を実行するための4つの基本アーキテクチャを設計しました。
Using Failover Manager with virtual IP addresses フェールオーバーマネージャーには、すぐにVIPアドレスを管理する重要な機能があります。 VIPアドレスを使用すると、アプリケーションは、プライマリデータベースサーバーにルーティングされる単一のIPアドレスに接続できます。このアーキテクチャは、環境でVIPアドレスが利用可能な場合に実行する最も基本的なソリューションです。
Failover Manager with client connect failover libpqやjdbcのようなPostgreSQLクライアントライブラリでは、クライアント接続フェイルオーバーが可能です。クライアント接続フェールオーバーでは、接続文字列に複数のサーバーhost=srv1,srv2が含まれ、クライアントライブラリは使用可能なホストをループして、使用可能な読み取り/書き込み操作が可能な接続を見つけます。この機能により、クライアントは、スイッチオーバー中にマスターを追跡できます。このソリューションは、仮想IPアドレスに依存しません。このようなクライアント構成を設定できるすべての環境で使用できます。
Failover Manager with EDB PgBouncer PgBouncerは、接続プーリングやトラフィックを停止するオプションなどの機能を追加します。 クライアントとPostgresデータベースサーバー間のプロキシとして使用することもできます。 フェールオーバーマネージャーの統合オプションを活用して、フェールオーバー中にPgBouncerの再構成を実行することにより、PgBouncerを使用してトラフィックを正しいプライマリデータベースサーバーにルーティングできます。
Failover Manager with EDB Pgpool-II EDB Pgpool-IIは、クライアントとPostgresデータベースサーバー間のプロキシとして使用される別のツールです。 EDB Pgpool-IIは、ウォッチドッグを使用してクラスターモードで実行、VIPの管理、読み取り専用のスケーラビリティなどの機能を追加します。フェールオーバーマネージャーには、EDB Pgpool-IIと統合して、データベースフェールオーバー操作中にトラフィックを別のプライマリにリダイレクトするネイティブ機能があります。
これらの機能は、各アーキテクチャでサポートされています。
クライアント接続フェイルオーバー
Features |
Failover Manager with VIP |
Failover Manager with client connect failover |
Failover Manager with EDB PgBouncer |
Failover Manager with EDB Pgpool-II |
|---|---|---|---|---|
Connection pooling |
Yes |
Yes |
||
Runs on cloud (no VIP) |
Yes |
Yes |
Yes |
|
Halt traffic option |
Yes |
|||
Read-only scalability |
Yes (using multiple connection factories) |
Yes |
||
Clustered proxy |
Yes |
|||
Proxy integration |
ssh |
PCP |
||
Minimum servers required |
3 |
3 |
5 |
6 |
Complexity |
Low |
Low |
Medium |
High |
Network hops |
1 |
1 |
||
Failover duration |
Low |
Medium |
Low |
Low |