1

読み取り/書き込みマスター サーバーと複製されたスレーブ/読み取りサーバーがあります。特定の Web ユース ケースでは、データがポストされ、すぐに読み取られてサーバーに送り返されます。即時読み取りは読み取りスレーブで行われ、遅延のためにデータはそこではまだ更新されていません。

これはレプリケーションのセットアップでよくある問題である可能性があることを理解しています。私たちはこれに慣れていないため、状況を克服するために必要なオプションに関する情報をいただければ幸いです。

私は今、いくつかのオプションを考えることができます:

  • 常にマスターから即時読み取りを行います。
  • 強力なサーバーを使用して遅延を減らします。
  • レプリケーションを廃止し、DB をシャーディングします。

ありがとう、クリス。

4

2 に答える 2

5

このようなアーキテクチャに対する一般的なソリューションは、インメモリ データ グリッド (IMDG) を使用することです。IMDG (場合によっては分散キャッシングと呼ばれます) は、DB アクセスの待ち時間を負担したり、独自のレプリケーション メカニズムを開発したりすることなく、異なるサーバー間で同期するのに役立ちます。

XAP Elastic Caching ( http://www.gigaspaces.com/datagridを参照) は、この分野の主要な製品の 1 つであり、商用プロジェクトで使用できる無料のコミュニティ エディションもあります。

于 2012-05-26T19:20:54.113 に答える
2

これは、使用するデータベースと、この問題をどのレベルで解決したいかによって異なります。

データベース レベルでは、学習できるキーワードがいくつかあります。

  • レプリケーション ラグ
  • 半同期レプリケーションと同期レプリケーション

MySQL では、次のことがわかります。

  • MySQL 5.6 (まだ GA ではありません)
  • ガレラ星団

この問題をアプリケーション レベルで解決したい場合は、「書き込み後に常にマスターを読み込む」ことが適切な解決策になります。

于 2012-05-30T02:52:31.713 に答える