2つのMySQLデータベースインスタンスがあり、それらはLoad Balancerによって処理されています。 Springアプリケーションは大量の要求を持つロードバランサにコンタクトします。トランザクションによっては、データベース内の1行を排他的にロックするトランザクションがあります。場合によっては、例えば100秒のリクエストを1秒間に送信するとデッドロックが発生することがあります。そのデッドロックを引き起こす原因を誰かが知っていますか?もちろんデッドロックは、データベース内の同じ行をロックする同じ要求を送信した場合にのみ発生します。データベースの2つのインスタンスがロードバランサと同期されていません
これは、システムが現在どのように見えるかです。
アプリケーションに単一の論理データベースを使用することをお勧めします。必要に応じて分割します。 –
大量の要求(100-1000 req/sec)のために、アーキテクチャはこのようにする必要があります。また、私はレプリケーションを持っているので、データがより安全になります。 – alxbxbx
あなたはそうしますが、私はこのアーキテクチャを使用しません。 –