私は、データセンター間のMySQLの高可用性(HA)ソリューションを研究しています。
同じ物理環境にあるサーバーの場合、アクティブパッシブアプローチを使用するハートビート(フローティングVIP)を備えたデュアルマスターを優先しました。ハートビートは、シリアル接続とイーサネット接続の両方で行われます。
最終的に、私の目標はこの同じレベルの可用性をデータセンター間で維持することです。手動の介入なしで両方のデータセンター間で動的にフェールオーバーし、データの整合性を維持したい
上部にBGPがあります。両方の場所にあるWebクラスター。これにより、両側のデータベースにルーティングされる可能性があります。サイト1でインターネット接続がダウンした場合、クライアントはサイト2を介してWebクラスターにルーティングし、両方のサイト間のリンクがまだアップしている場合はサイト1のデータベースにルーティングします。
このシナリオでは、物理リンク(シリアル)がないため、スプリットブレインが発生する可能性が高くなります。WANが両方のサイト間でダウンした場合、VIPは最終的に両方のサイトで終了し、さまざまな不快なシナリオが非同期を引き起こす可能性があります。
私が見る別の潜在的な問題は、将来このインフラストラクチャを3番目のデータセンターに拡張するのが難しいことです。
ネットワーク層は焦点ではありません。この段階では、アーキテクチャは柔軟です。繰り返しになりますが、私の焦点は、データの整合性とMySQLデータベースの自動フェイルオーバーを維持するためのソリューションです。私はおそらくこれを中心に残りを設計するでしょう。
物理的に異なる2つのサイト間でMySQL HAの実績のあるソリューションを推奨できますか?
これを読んでくれてありがとう。あなたの提案を読むのを楽しみにしています。