はじめに このページを読んでわかること
更新系APIのタイムアウトで発生する課題でまとめたサーバ間の状態不整合の解決策として、サーバAをサーバBの状態に一致させるため参照リクエストを利用する。
参照リクエストのシーケンス
更新リクエストがタイムアウト→参照リクエストを送信
参照リクエストでサーバBにデータがないため、サーバA内部の状態遷移で、初期状態に戻す。(課題なし)
更新リクエストがタイムアウト→参照リクエストを送信
参照リクエストでサーバ側にデータがあることを確認できたので、サーバA内部の状態遷移で、処理済み状態にする。(課題なし)
結論
参照リクエストによりサーバBの状態にサーバAを一致させることでサーバ間の状態不整合を解消させることはできた。
以下が課題として残る。
- 参照リクエストのレスポンスが受信できない場合、サーバBの状態を取得できない