PGD-Always-ON#
Always-ON構成のEDB Postgres Distributed 5は、テストおよび運用環境での使用に適しています。
このアーキテクチャはEDB Postgres分散バージョン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
必須オプション#
Options |
Description |
|---|---|
--architecture (-a) |
`PGD-Always-ON`に設定する必要があります |
Postgres flavour and version (e.g. --postgresql 15) |
|
--pgd-proxy-routing |
`global`または`local`のいずれかである必要があります。 |
追加オプション#
Options |
Description |
Behavior 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`のようなhttp(s) APIエンドポイントを有効にして、pgd-プロキシの状態をプローブします。 |
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つのロケーションのみからなるクラスターは、いずれかのロケーションに障害が発生した場合、グローバルコンセンサスを確立する能力を完全に失います。単一の場所で障害が発生した場合でも、コンセンサスを確立する機能を維持できます。これを行うには、監視ノードのみを含む3番目の監視専用の場所を追加することをお勧めします。
--witness-only-location loc
を使用して、いずれかの場所を監視者として指定します。
デフォルトでは、すべての場所のすべてのデータノードも接続ルーティングにPGDプロキシを実行します。代わりに別のPGDプロキシインスタンスを作成するには、--add-proxy-nodes-per-location 3
または追加する数のプロキシを使用します。
ユースケースによっては、 --pgd-proxy-routing local
またはglobal
を指定して、PGDプロキシが書き込みリーダーに接続をルーティングする方法を構成する必要があります。ローカルルーティングは、すべてのPGDプロキシを独自の場所内の書き込みリーダーにルートさせますジオシャーディングアプリケーションに適しています。グローバルルーティングは、すべてのプロキシを単一の書き込みリーダーにルートさせます。書き込みリーダーは、すべての場所で使用可能なすべてのデータノードの中から選択されます。
オプションで次を指定できます。
--bdr-database dbnameBDRが有効なデータベースの名前を設定しますデフォルトbdrdb各リージョンに2つのデータノードをCAMOパートナーとして設定する
--enable-camo--enable-pgd-probes [{http, https}]は、プロキシの状態を簡単にプローブできるhttp APIエンドポイントを有効にします
tpaexec help configure-options で説明されるオプションを指定することもできます。