私たちのアプリケーションは、Amazon RDS Aurora のリーダーとライターのインスタンスを使用します。AWS ダッシュボードは、レプリカのラグが一貫して約 20 ミリ秒であることを示しています。ただし、マスターでのコミット後 90 ミリ秒以上、場合によっては少なくとも 170 ミリ秒で古い結果がリーダーに表示されます。
CRUD 操作を行う場合、アプリはデータをコミットし、クライアントに HTTP リダイレクトを発行して新しいデータをロードします。リダイレクトのネットワーク ターンアラウンドはクライアントに記録され、通常は少なくとも 90 ミリ秒です。アプリケーション サーバーでコミット時間と読み取り時間の両方をログに記録すると、約 170 ミリ秒の差が見られます。古いデータが一貫して表示されています。
Aurora の前は、標準の MySQL レプリケーション セットアップを使用しており、ボックスの性能が大幅に低下していましたが、この問題は発生していませんでした。
同じ aurora インスタンスから読み取りと書き込みを行うようにアプリケーションを変更すると問題は解決しますが、Aurora はレプリケーションに共有ストレージを使用していると思いました。何が起こっている?これは、Aurora のクエリ キャッシュの問題でしょうか? 報告されたレプリカ ラグは不正確ですか?
どんな助けでも大歓迎です。
ありがとうございました、