Docker Swarm はデータベース (PostgreSQL) のレプリケーションをどのように処理しますか? 質問する

Docker Swarm はデータベース (PostgreSQL) のレプリケーションをどのように処理しますか? 質問する

私は Docker Swarm モードを学習しており、Web アプリケーションと PostgreSQL データベースを使用してローカルで Swarm を作成することができました。これらをスケーリングでき、Swarm がレプリカを作成しているのを確認できます。

Docker Swarmが通常のウェブサーバーの負荷分散しかし、データベース コンテナーをすぐにどのように処理するのでしょうか?

Swarmのコンテキスト以外では、通常、データベースには独自のやり方プラグインや拡張製品の形でレプリケーションを処理するには、MySQL クラスターCassandra などの他のデータベースでは、レプリケーションが製品に直接組み込まれています。Swarm のコンテキストでは、これらのデータベース プラグインと機能にまだ依存する必要がありますか?

データベース コンテナーのレプリカ間のデータ一貫性を処理するために期待されるパターンは何ですか?

これは非常にオープンエンドな質問であることは承知していますが、Docker のドキュメントも非常にオープンエンドであり、これに関する具体的な情報は見つからないようです。

ベストアンサー1

データベース コンテナーをすぐにどのように処理しますか?

それは違います。

Swarm サービスについては、こちらに非常に詳しい説明があります:サービスの仕組み (強調は筆者による)

サービスを Swarm にデプロイすると、Swarm マネージャーはサービス定義をサービスの望ましい状態として受け入れます。次に、1 つ以上のレプリカ タスクとして、スウォーム内のノード上のサービスをスケジュールします。

Swarm はタスクの内容を把握していません。把握しているのは、タスクのインスタンスがいくつあるか、それらのインスタンスがヘルス チェックに合格しているかどうか、および指定したタスク定義を満たすのに十分なインスタンスがあるかどうかだけです。これとデータベース レプリカという言葉が重複するのは少し残念ですが、これらは異なる概念です。

データベース コンテナーのレプリカ間のデータ一貫性を処理するために期待されるパターンは何ですか?

データレプリケーションの設定はあなた次第です。これらはおそらく、他のどの方法よりも良い出発点となるでしょう。

おすすめ記事