はじめに このページを読んでわかること
更新系APIのタイムアウトで発生する課題でまとめたサーバ間の状態不整合の解決策として、参照リクエストでサーバの状態を確認後、(必要に応じて)更新リクエストを再送する(リトライ)する設計において考慮すべきことをメモしておく。
参照リクエスト→リトライのシーケンス
更新リクエストがタイムアウトして参照リクエストを送信
参照リクエストでサーバ側にデータがないことを確認してから、更新リクエストを再送する。(課題はなし)
更新レスポンスがタイムアウトして参照リクエストを送信
参照リクエストでサーバBにデータがあることを確認できたので、更新リクエストの再送をせず処理終了。(課題はなし)
正常ケース
業務エラー
リトライ→参照リクエストのシーケンス
リトライを先に