0

データベース プロキシ (maxscale など) がバックエンド データベースとクライアントの間に存在する場合、プロキシ ノード自体に障害が発生すると、書き込みはどうなりますか。具体的には、次のシナリオに興味があります。

  1. クライアントが書き込みコマンドを発行します (自動コミットが有効になっていると仮定します)。
  2. データベース プロキシは、クライアントから書き込みコマンドを受け取り、それをバックエンド データベースに送信します。
  3. バックエンド データベースは、書き込みコマンドを受け取り、書き込みを実行し、トランザクションをコミットして、確認をプロキシ ノードに送り返します。
  4. プロキシ ノードは確認応答を受信します。しかし、プロキシ ノードが確認をクライアントに送り返す前に、プロキシ ノードは停止します。

このシナリオでは、トランザクションがコミットされ、データベースに関する限り、そのクライアント (つまり、プロキシ ノード) に通知されます。ただし、実際のクライアントは、トランザクションがコミットされたかどうかを知りません。

データベース プロキシはこのシナリオをどのように処理しますか?

4

1 に答える 1