PGD-Always-ON¶
EDB Postgres Distributed 5は常時オン構成で、テストおよび実稼働での使用に適しています。
このアーキテクチャは、 EDB Postgres Distributed 5での使用にのみ有効であり、 Configuring EDB Repos 2.0 repositories へのサブスクリプションが必要です。
クラスター構成¶
構成オプションの概要¶
このアーキテクチャのtpaexec configure
の呼び出し例を以下に示します。
tpaexec configure ~/clusters/pgd-ao \
--architecture PGD-Always-ON \
--edb-postgres-extended 15 \
--platform aws --instance-type t3.micro \
--distribution Debian \
--pgd-proxy-routing global \
--location-names dc1 dc2 dc3 \
--witness-only-location dc3 \
--data-nodes-per-location 2
helpコマンドを使用して、使用可能なすべてのオプションをリストできます。
tpaexec configure --architecture PGD-Always-ON --help
次の表では、PGD-Always-ONの必須オプションと追加の重要なオプションについて説明します。オプションの詳細については、次のセクションで説明します。
必須オプション¶
Options |
Description |
|---|---|
--architecture (-a) |
`PGD-Always-ON`に設定する必要があります |
Postgres flavour and version (e.g. --postgresql 15) |
有効な tpaexec-configure 。 |
--pgd-proxy-routing |
`global`または`local`のいずれかである必要があります。 |
追加オプション¶
Options |
Description |
Behaviour if omitted |
|---|---|---|
--platform |
aws、docker、`bare`のいずれか。 |
Defaults to aws. |
--location-names |
ロケーション名のスペース区切りリスト。ロケーションの数は、提供された名前の数と同じです。 |
TPA will configure a single location with three data nodes. |
--witness-only-location |
ロケーション名は、 `location-names`のメンバーである必要があります。 |
No witness-only location is added. |
--data-nodes-per-location |
各場所のデータノードの数は、少なくとも2でなければなりません。 |
Defaults to 3. |
--add-proxy-nodes-per-location |
各場所のプロキシノードの数。 |
PGD-proxy will be installed on each data node. |
--enable-camo |
各ロケーションに2つのデータノードをCAMOパートナーとして設定します。 |
CAMO will not be enabled. |
--bdr-database |
レプリケーションに使用されるデータベースの名前。 |
Defaults to bdrdb. |
--enable-pgd-probes |
`health/is-ready`などのpgd-proxyのhttp(s) apiエンドポイントを有効にして、プロキシの状態のプローブを許可します。 |
Disabled by default. |
PGD-Always-ON構成の詳細¶
PGD-Always-ONクラスタは、多数の、好ましくは奇数の場所を含み、それぞれが同じ数の、好ましくは奇数のデータノードを有する。
--location-names
を指定しない場合、デフォルトでは3つのデータノードで単一の場所を使用します。
クラスターの場所名は--location-names dc1 dc2 …
として指定されます。ロケーションは、この定義がユースケースに意味をなす方法で、レベルの冗長性を提供する独立したデータセンターを表します。たとえば、AWSリージョン、独自のデータセンター、またはサーバーがホストされている場所を識別するためのその他の指定。
--data-nodes-per-location N
を使用して、各場所のデータノードの数を指定します。最小数は2で、デフォルトは3です。
ロケーションごとに偶数のデータノードを指定すると、TPAは各ロケーションに追加の監視ノードを自動的に追加します。これにより、コストを削減しながら信頼できるコンセンサスを確立する機能が保持されます(Witnessには、データノードと比較して最小限のハードウェア要件があります)。
ロケーションが2つしかないクラスターは、ロケーションの1つで障害が発生した場合、グローバルコンセンサスを確立する機能を完全に失います。
3番目の監視専用の場所を追加することをお勧めします(これにはデータノードが含まれず、監視ノードのみが含まれ、再びコンセンサスを確実に確立するために使用されます)。
--witness-only-location loc
を使用して、場所の1つを証人として指定します。
デフォルトでは、(すべての場所の)すべてのデータノードも、接続ルーティングのためにPGD-Proxyを実行します。代わりに別のPGD-Proxyインスタンスを作成するには、
--add-proxy-nodes-per-location 3
(または追加したい数のプロキシ)を使用します。
ユースケースに応じて、 --pgd-proxy-routing local またはglobal
を指定して、PGD-Proxyが接続を書き込みリーダーにルーティングする方法を構成する必要があります。ローカルルーティングは、すべてのPGDプロキシルートを独自の場所内の書き込みリーダーに作成します(ジオシャーディングアプリケーションに適しています)。グローバルルーティングは、すべてのプロキシルートをすべての場所で使用可能なすべてのデータノードの中から選択された単一の書き込みリーダーにします。
オプションで--bdr-database dbname を指定して、
BDRを有効にしたデータベースの名前を設定できます(デフォルト:bdrdb)。
オプションで--enable-camo
を指定して、各リージョンに2つのデータノードをCAMOパートナーとして設定できます。
オプションで--enable-pgd-probes [{http, https}]
を指定して、プロキシの状態を簡単にプローブできるhttp(s)
apiエンドポイントを有効にすることができます。
tpaexec help configure-options で説明されているオプションのいずれかを指定することもできます。