質問

City AにメインのMySQLサーバーがあります。CityBにカスタマーサービススタッフの大部分があります。スタッフは、接続がサーバーに遅すぎると不満を述べています。オプションは次のとおりです。

  1. 都市間の直接リンクの代わりに、公開インターネットを介して外出してもらいます。そうすれば、pingは長くなるかもしれませんが、都市間のVoIPトラフィックと競合していません

  2. データベースをクラスター化して、両方の都市のローカルサーバーで書き込みと読み取りが同時に発生する可能性があります。

2ははるかに好ましいですが、おそらく私の説明からわかるように、私はそれを実装する方法や「クラスタリング」であってもまったく手がかりがありません。 MySQLクラスターで見つけることができる最善の点は、NDBテーブルを使用する必要があり、データベース全体をそれに変換したくないことです。ここでの私の選択肢は何ですか?ありがとう。

役に立ちましたか?

解決

2つの都市はどれくらい離れていますか(ping時間)? 80ミリ秒は、米国中を経験していることです。悪くはないです。

マスターマスターの両方の頭に書き込むことは可能ですが、多くの問題点があります。

NDBクラスターはホットホットを可能にしますが、(あなたが言うように)ある程度の変換が必要です。

だから、私が唯一の実行可能な解決策として見ているものに戻って、単一の書き込み可能なマスターと、任意の数の奴隷です。

リモートマスターを苦痛にすることができることの1つは、ユーザーの「ユニット」が多くのSQLステートメントに変換されるかどうかです。 (1)コードを再考して、より少ないステートメントを使用するように解決することができます(2)ストアドプロシージャを使用して、できるだけ多くのSQLステートメントをカプセル化し、それをリモートマスターに展開します。

読み取り(「批判的な読み取り」以外)は、ロードバランサーの後ろの奴隷に行くことができます。また、一部のメカニズムは、通常、読み取りが「ローカル」であることを保証する必要があります。

ライセンス: CC-BY-SA帰属
所属していません dba.stackexchange
scroll top