Choosing a deployment architecture

Choosing a deployment architecture#

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

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

フェールオーバーマネージャーの機能を使用して、EDBは、高可用性環境を実行するための4つの基本アーキテクチャを設計しました。

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

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

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

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