アーキテクチャの概要¶
高可用性と読み取りスケーラビリティはEDB Postgres Advanced Serverのコア機能セットの一部ではないため、Advanced Serverは外部ツールに依存してこの機能を提供します。このドキュメントでは、EDB Failover ManagerおよびPgpool-IIが提供する機能に焦点を当て、これらのツールを中心に形成された高可用性アーキテクチャの影響について説明します。 Advanced Serverに提供される利点を活用するために、Failover ManagerとPgpoolを最適に構成する方法を示します。 アーキテクチャで説明されているリファレンスアーキテクチャを使用する セクションでは、自動フェールオーバーメカニズム(Failover Managerを使用)を実装することで高可用性を実現する方法を学習できます。同時に、大規模なワークロードと読み取り集中型または混合ワークロードを備えた多数の同時クライアントにシステムをスケーリングして、水平スケーリング/読み取りを実現します。スケーラビリティ(Pgpoolを使用)。
このドキュメントで説明されているアーキテクチャは、EFM 3.9、EDB pgPool 4.0、およびAdvanced Server 12向けに開発およびテストされています。
Advanced ServerおよびFailover Managerのドキュメントは、次のEnterpriseDBから入手できます。
https://www.enterprisedb.com/resources/product-documentation
pgPool-IIのドキュメントは次の場所にあります。
http://www.pgpool.net/docs/latest/en/html
フェールオーバーマネージャーの概要¶
フェールオーバーマネージャーは、Postgresストリーミングレプリケーションクラスターの状態を監視し、障害を迅速に検証する高可用性モジュールです。データベースの障害が発生すると、フェールオーバーマネージャーはストリーミングレプリケーションスタンバイノードを書き込み可能なマスターノードに自動的に昇格させ、継続的なパフォーマンスを確保し、最小限のサービス中断でデータ損失を防ぎます。
基本的なEFMアーキテクチャの用語
- フェールオーバーマネージャークラスターは、
ネットワーク上の次のホスト:
PgPool-IIの概要¶
Pgpool-II(Pgpool)は、EPASおよびコミュニティPostgresクラスターの複数のスタンバイで SELECT クエリの水平スケーラビリティのための接続プーリングと負荷分散を提供するオープンソースアプリケーションです。 backend_weight パラメーターを使用して、読み取りトラフィックがマスターノードに送信されるのを防ぐようにPgpoolを設定できます。このような場合、データ変更言語(DML)クエリ(つまり、 INSERT 、 UPDATE 、 DELETE )は常にマスターノードに送信されますが、読み取りクエリはスタンバイ、混合および読み取り集中型のワークロードでスケーラビリティを提供します。
EnterpriseDBは、次のPgpool機能をサポートしています。
負荷分散
接続プーリング
高可用性
接続制限
PCPの概要¶
Pgpoolは、Pgpoolのステータスの取得やPgpoolプロセスのリモート終了などの管理操作を実行する管理者向けのPCPと呼ばれるインターフェイスを提供します。 PCPコマンドは、ネットワーク経由でPgpoolを操作するUNIXコマンドです。
Pgpool Watchdog¶
watchdog は、高可用性機能を提供するPgpoolのオプションのサブプロセスです。 watchdog によって追加される機能は次のとおりです。
pgpoolサービスのヘルスチェック
他のウォッチドッグプロセスの相互監視
特定の障害が検出された場合のアクティブ/スタンバイ状態の変更
サーバーの切り替えに同期して割り当てる自動仮想IPアドレス
回復中のサーバーのスタンバイとしての自動登録
Pgpool watchdog コンポーネントの詳細については、次を参照してください。
http://www.pgpool.net/docs/latest/en/html/tutorial-watchdog.html