MySQL データベースでレプリケーションが必要になる日が近づいています。最適な戦略について少し説明を求めています。うまくいけば、これはまだここで質問するのに十分具体的な質問です.
現在、アプリケーション用に 1 つの DB があり、これはかなり読み取りが集中しています。アプリケーション内のいくつかの基本的な負荷分散ロジックに基づいて、読み取りが約 40% をマスターに、60% をスレーブに分割する単純なマスター/スレーブ設定から始めることを考えています。
実行に時間がかかり、場合によっては 1 分以上かかることがわかっている読み取りがときどきあるため、40 対 60 の分割を言いました。これらの読み取りを負荷分散するのではなく、常にこれらをマスターに送信する予定です。単純なクエリでレプリケーションの遅延が発生する可能性があるのではなく、マスターに作業を行わせ、スレーブに追いつく時間を与えたいと思います。(複数のスレーブに進むことができる場合は、これらの集中的なクエリ専用のスレーブを 1 つ用意します)。
だから私の質問は、これは健全な計画のように聞こえるか、そうでない場合、より良い代替案は何かということです.
以下のコメントに応じて編集します。
@Romain - アプリケーションの大部分は、サインインしたユーザーの投稿、コメント、および返信に関係しているため、これらの操作では、可能な限り古いデータを避ける必要があります。
@Jaydee - はい、各サーバーの重み付け値を組み込んでいるので、必要に応じて読み取り%を簡単に変更できます。