アーキテクチャの概要

高可用性と読み取りスケーラビリティはEDBPostgresAdvancedServerのコア機能セットの一部ではないため、AdvancedServerはこの機能を提供するために外部ツールに依存しています。このドキュメントでは、EDBFailoverManagerとPgpool-IIによって提供される機能に焦点を当て、これらのツールを中心に形成された高可用性アーキテクチャの影響について説明します。AdvancedServerに提供する利点を活用するために、FailoverManagerとPgpoolを最適に構成する方法を示します。 :ref:`アーキテクチャで説明されているリファレンスアーキテクチャを使用する<architecture>`セクションでは、自動フェイルオーバーメカニズム(フェイルオーバーマネージャーを使用)を実装することで高可用性を実現する方法を学びながら、システムをより大きなワークロードと多数の同時クライアントで読み取り集中型または混合ワークロードにスケーリングし、水平スケーリング/読み取りを実現します。スケーラビリティ(Pgpoolを使用)。

このドキュメントで説明するアーキテクチャは、EFM3.10、EDBpgPool4.0、およびAdvancedServer12用に開発およびテストされています。

AdvancedServerおよびFailoverManagerのドキュメントは、EnterpriseDBの次の場所から入手できます。

https://www.enterprisedb.com/resources/product-documentation

pgPool-IIのドキュメントは次の場所にあります。

http://www.pgpool.net/docs/latest/en/html

フェールオーバーマネージャーの概要

FailoverManagerは、Postgresストリーミングレプリケーションクラスタの状態を監視し、障害をすばやく検証する高可用性モジュールです。データベース障害が発生した場合、フェイルオーバーマネージャーはストリーミングレプリケーションのスタンバイノードを書き込み可能なマスターノードに自動的に昇格させて、継続的なパフォーマンスを確保し、サービスの中断を最小限に抑えてデータの損失を防ぎます。

基本的なEFMアーキテクチャの用語

フェールオーバーマネージャークラスターは、

ネットワーク上の次のホスト:

  • **マスターノード**は、データベースクライアントにサービスを提供するプライマリデータベースサーバーです。

  • 1つ以上の**スタンバイノード**が、マスターノードに関連付けられたストリーミングレプリケーションサーバーです。

  • **監視ノード**は、フェイルオーバーシナリオでのマスターまたはスタンバイのアサーションを確認します。クラスターに3つ以上のノードが含まれている場合、クラスターには専用の監視ノードは必要ありません。データベースホストである3番目のクラスターメンバーがない場合は、専用の監視ノードを使用できます。クラスタには複数の監視ノードが含まれる場合があります。

PgPool-IIの概要

Pgpool-II(Pgpool)は、EPASおよびコミュニティPostgresクラスターの複数のスタンバイでの SELECT クエリの水平スケーラビリティのための接続プーリングとロードバランシングを提供するオープンソースアプリケーションです。pgpoolは、 backend_weight パラメーターを使用して、読み取りトラフィックがマスターノードに送信されるのを防ぐように構成できます。このような場合、データ変更言語(DML)クエリ(つまり、 INSERT 、 UPDATE 、 DELETE )は常にマスターノードに送信されますが、読み取りクエリはスタンバイ、混合および読み取り集中型のワークロードでスケーラビリティを提供します。

EnterpriseDBは、次のPgpool機能をサポートしています。

  • 負荷分散

  • 接続プーリング

  • 高可用性

  • 接続制限

PCPの概要

Pgpoolは、Pgpoolのステータスの取得やPgpoolプロセスのリモートでの終了などの管理操作を実行するPCPと呼ばれるインターフェイスを管理者に提供します。PCPコマンドは、ネットワーク経由でPgpoolを操作するUNIXコマンドです。

Pgpoolウォッチドッグ

watchdog is an optional sub process of Pgpool that provides a high availability feature. Features added by watchdog include:

  • pgpoolサービスのヘルスチェック

  • 他のウォッチドッグプロセスの相互監視

  • 特定の障害が検出された場合のアクティブ/スタンバイ状態の変更

  • サーバー切り替えに同期して割り当てられる自動仮想IPアドレス

  • リカバリ中のサーバーのスタンバイとしての自動登録

Pgpool watchdog コンポーネントの詳細については、以下を参照してください:

http://www.pgpool.net/docs/latest/en/html/tutorial-watchdog.html