分散化はトランザクションと障害のあり方を変えます
複数のサービスにまたがる案件には、共通のデータベーストランザクションが自動的に存在するわけではありません。状態遷移、一時的な不整合、補償アクションを計画します。アウトボックスパターンは、データ変更と発行するイベントを整合的に結び付ける助けになります。再試行には業務上の冪等性、つまり再処理時にも結果が一定であることが必要です。タイムアウトと依存関係には上限を設け、遅いサービスが処理チェーン全体を止めてしまわないようにします。これらのルールは、関係するチームが理解し、テストできるものである必要があります。


