はじめに このページを読んでわかること
更新系APIの状態不整合の解決策 非同期の照合ファイルにおいて、課題として、照合ファイルを受け取るまで、サーバAを”不明”状態にしておくことが許容されないサービス要件に対応できないことを指摘した。
本ページでは、その解決策として、サーバAをロークバックする方法をメモしておく。
非同期の照合ファイルによるロールバックのシーケンス
更新リクエストがタイムアウト後、サーバAをロールバックし、照合ファイルでサーバBの状態を確認する
更新レスポンスがタイムアウト後、サーバAをロールバックし、照合ファイルでサーバBの状態を確認する
照合ファイルでサーバBは"処理済み"のため、サーバAの"初期状態"に一致させるため、取消リクエストを送信する。
課題として、照合ファイルを受信するまでサーバ間の状態不整合を許容できないサービス要件の場合、さらに解決策が必要となる。
結論
ロールバックによりサーバAを”不明”状態にしておくことが許容されないサービス要件を満たすことはできた。
サービス要件によっては、照合ファイルを受信するまでサーバ間の状態不整合を許容できないことが、課題となる。