Choosing a deployment architecture¶
フェールオーバーマネージャーは、 Postgresストリーミングレプリケーションクラスターの状態を監視し、障害を迅速に検証する高可用性モジュールです。データベース障害が発生すると、フェールオーバーマネージャーはストリーミングレプリケーションスタンバイノードを書き込み可能プライマリノードに自動的にプロモートさせることができます。この機能により、継続的パフォーマンスが保証され、サービスの中断を最小限に抑えてデータロスを防ぐことができます。
フェールオーバーマネージャークラスターは、ネットワーク上の次のホストにあるフェールオーバーマネージャープロセスで構成されます。
プライマリノードは、サービスを提供しているプライマリデータベースサーバです。 データベースクライアント。
1つ以上のスタンバイノードがストリーミングレプリケーションている プライマリノードに関連しています。
監視ノードは、プライマリまたはアサーションのいずれかのアサーションを確認します フェイルオーバーシナリオでのスタンバイ。障害シチュエーション中に、 プライマリは、半分以上のノードがあるパーティションにあります。 プライマリのままです。そのため、フェールオーバーマネージャーは、 偶数のエージェントを持つクラスター。
Failover Managerは、 Postgres接続プーラーと接続ライブラリを使用して、EDBPostgres Advanced Serverにさまざまな高可用性オプションを提供します。これらのオプションは、高可用性アーキテクチャに影響を与えます。
データベースの高可用性を保証に、Failover Managerのコア機能をPostgres接続ライブラリ(クライアント接続フェイルオーバー)および接続プーラーと組み合わせることができます。
Failover Managerの機能により、 EDBは、高可用性環境を実行するための4つの基本アーキテクチャを設計しました。
Failover Manager using VIP (virtual IP):フェールオーバーマネージャーには、VIPアドレスをすぐに管理できるキー機能があります。 VIPアドレスにより、アプリケーションは、プライマリデータベースサーバにルーティングされている単一のIPアドレスに接続できます。このアーキテクチャは、VIPアドレスが環境で利用可能な場合に実行する最も基本的なソリューションです。
2 .: libpqやjdbcなどのPostgreSQLクライアントライブラリでは、クライアント接続のフェイルオーバーが可能です。クライアント接続フェイルオーバーでは、接続文字列にマルチプルのサーバー(ホスト= srv1、srv2)が含まれ、クライアントライブラリが使用可能なホストをループして、使用可能で読み書き操作が可能な接続を見つけます。この機能により、クライアントはスイッチオーバー中にマスタを追跡できます。このソリューションは、仮想IPアドレスに依存しません。このようなクライアント構成を設定できるすべての環境で使用できます。
Failover Manager with PgBouncer:PgBouncerは、コネクションプーリングやトラフィックを停止するオプションなどの機能を追加します。また、クライアントとPostgresデータベースサーバ間のプロキシとして使用することもできます。フェールオーバーマネージャーPgBouncerを使用して、トラフィックを正しいプライマリデータベースサーバにルーティングできます。
Failover Manager with Pgpool:Pgpool-IIは、クライアントとPostgresデータベースサーバ間のプロキシとして使用される別のツール。 Pgpool-IIは、Watchdogを使用したクラスターモードでの実行、VIPの管理、読み取り専用のスケーラビリティなどの機能を追加します。フェールオーバーマネージャーには、Pgpool-IIと統合してデータベースフェイルオーバー操作中に別のプライマリにトラフィックをリダイレクトするネイティブ機能があります。
これらの機能は、各アーキテクチャでサポートされています。
クライアント接続フェイルオーバー
Features |
Failover Manager with VIP |
Failover Manager with client connect failover |
Failover Manager with with PgBouncer |
Failover Manager with with Pgpool |
|---|---|---|---|---|
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 |