MySQLレプリケーション時間は制御不可能な変数であるため(適切な実装であっても、レプリケーションを停止またはブロックする問題が発生する可能性があります)、データレプリケーションに依存しないことが最善です。問題は次の2つの状況に分類できます。
1)私はCUD操作を実行しているユーザーです。後のR操作は、今行った変更を反映していると思います。この場合、ユーザーは自分の変更が効果を発揮することを期待しているため、マスターからデータをプルする必要があります。
2)私は外部ユーザーです。CUDコマンドが発生したことを知りません。通常は気にしません。したがって、古いデータを返すことは許容されます(99%の実装では、そうでない場合はPHP*を使用しない可能性があります)。 。
#1の代わりに、ユーザーの変更が伝播中であり、状況によっては許容できることをユーザーに通知することもできます。多くのウェブサイトでは、xが表示されるまでに最大y分かかる場合があると言われていますが、これが実際の状況です。
- 即時更新が必要な場合は、(信頼性が低い可能性のある)DBデータとともにポーリングされるキャッシュレイヤーへの書き込みを試すことができます。 memcachedのようなものが最有力候補になります。