マイクロサービスアーキテクチャ、より正確には分散環境でデータベースを展開するベストプラクティスは何ですか?マイクロサービスの原則では、スケーリングを可能にするために各サービスはステートレスでなければならないと規定しています。データベースは明らかに状態を持っているため、クラスタが初期化される前に、クラスタ外の固定位置に配置し、展開して構成する必要がありますか?マイクロサービスとデータベース
すべてのドッカーの作成例には、サービス定義のデータベースコンテナが含まれているので、私は混乱しています。しかし、事はそれほど単純ではありません。多くの場合、データベースは使用準備が整う前に多くの構成が必要になることがあります。また、ドッカーはサービスの開始順序を調整している。
データベースをdocker swarmにサービスと一緒に配備するのは本当に良い方法ですが、データの整合性と永続性を確保するにはどうすればいいですか?
glusterFSとデータベースを使用する上で最大の問題は、ネットワークトラフィックの問題とglusterの最大容量です。昨年、私は、ログを含むPHPアプリケーション用の集中した分散データストアを持っていました。私たちは実際に、ログからのスケールだけが、ログへの分散読み取り書き込みからの負荷から何度も重複してglusterをオーバーロードするという点に達しました。 – Dockstar
@Dockstar、合意し、あなたの経験を投稿していただきありがとうございます。それが私が現時点でテストしている理由です。どのようにGlusterFSを設定しましたか?分散?ストライプ化、分散+ストライプ化、複製、複製+配布 –
私たちは複数のエンドポイントを持っていたので、ストライピングされ、複製されませんでした。正直なところ、専用のフラッシュ(ディスクではなく、フラッシュカード)を使用していない限り、私はIOがそのペースでデータをストライピングするだけでなく、レプリケーションも見ることができません。私が見てきたのは、アクティブなアクティブなgaleraクラスタの自動サービス検出を行う方法です。ストレージではなくDBレベルで複製することもできますが、それでも同じブロックに対してストレージアレイに何度も何度もヒットしています – Dockstar