Choosing a deployment architecture

フェールオーバーマネージャーは、Postgres接続プーラーと接続ライブラリを使用して、 EDB Postgres Advanced Serverにさまざまな高可用性オプションを提供します。これらのオプションは、高可用性アーキテクチャに影響します。

データベースの高可用性を確保するために、フェールオーバーマネージャーのコア機能をPostgres接続ライブラリ(クライアント接続フェールオーバー)および接続プーラーと組み合わせることができます。

Failover Managerの機能を使用して、EDBは高可用性環境を実行するための4つの基本アーキテクチャを設計しました。

  1. Failover Manager using VIP (virtual IP)

:フェールオーバーマネージャーには、すぐにVIPアドレスを管理する重要な機能があります。 VIPアドレスを使用すると、アプリケーションは、プライマリデータベースサーバーにルーティングされている単一のIPアドレスに接続できます。このアーキテクチャは、環境でVIPアドレスを使用できる場合に実行する最も基本的なソリューションです。

  1. Failover Manager using client connect failover :

libpqやjdbcなどのPostgreSQLクライアントライブラリにより、クライアント接続のフェイルオーバーが可能になります。クライアント接続フェイルオーバーでは、接続文字列に複数のサーバー(host=srv1、srv2)が含まれ、クライアントライブラリは利用可能なホストをループして、利用可能で読み書き操作が可能な接続を見つけます。この機能により、クライアントはスイッチオーバー中にマスターをフォローできます。このソリューションは、仮想IPアドレスに依存しません。このようなクライアント構成を設定できるすべての環境で使用できます。

  1. PgBouncerでフェールオーバーマネージャーを使用する

:PgBouncerは、接続プーリングやトラフィックを停止するオプションなどの機能を追加します。クライアントとPostgresデータベースサーバー間のプロキシとして使用することもできます。フェールオーバーマネージャーの統合オプションを活用して、フェールオーバー中にPgBouncerの再構成を実行することにより、PgBouncerを使用してトラフィックを正しいプライマリデータベースサーバーにルーティングできます。

  1. 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