1. マイクロサービスにおける分散トランザクションの難題
各サービスが独立したデータベースを持つ場合、従来のDBトランザクション(COMMIT/ROLLBACK)は使えません。注文、支払い、在庫引き当ての途中でエラーが起きた際、整合性をどう保つかが最大の課題です。
2. 補償トランザクション(Compensating Transactions)
Sagaパターンでは、処理が失敗した際に「これまでの処理を打ち消す逆の処理(補償トランザクション)」を順次実行して状態を元に戻します(例: クレジットカード決済の取り消し返金処理)。
3. Step Functionsによるビジュアルワークフロー管理
AWS Step Functionsのステートマシンを使用することで、各ステップの成否判定、タイムアウト、リトライ、補償トランザクションの呼び出しを視覚的なJSON/YAMLで宣言的に定義・監視できます。