境界を越える統合イベント:分散システムで事実を確実に伝える設計

Crossing Boundaries with Integration Events

境界を越える統合イベント:分散システムで事実を確実に伝える設計

この記事は、Domain-Driven Design シリーズの一部で、ある境界づけられたコンテキスト(bounded context)が別のコンテキストに何かが起こったことを伝えるために必要なすべてのこと、そしてそれが失敗する方法に備えた設計について解説します。ドメインイベントは内部イベントであり、統合イベントは外部イベントです。統合イベントは、非同期メッセージングを介して送信され、プロデューサーとコンシューマーを疎結合にしますが、メッセージの重複や遅延、クラッシュなどの課題があります。この記事では、契約の設計(ドメインモデルを公開しない、ビジネス事実を表現する、データイベントを統合イベントとして使わないなど)と、トランザクショナルアウトボックスパターンやべき等性などによる信頼性の高い配信について説明します。

「非同期メッセージングはそれ自体では結合を除去しません。契約は依然としてビジネス上の意味を表現する必要があります。」

この日のほかの記事

2026-09-02