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)

有効な Configuring lvm-direct for production 。

--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 dbname BDRが有効なデータベースの名前を設定しますデフォルトbdrdb

  • 各リージョンに2つのデータノードをCAMOパートナーとして設定する--enable-camo

  • --enable-pgd-probes [{http, https}] は、プロキシの状態を簡単にプローブできるhttp APIエンドポイントを有効にします

tpaexec help configure-options で説明されるオプションを指定することもできます。