Skip to content
Latchkey

Outbox Pattern とは?

outbox pattern は、ビジネスデータを変更するのと同じローカルトランザクション内で、送信すべきイベントを outbox テーブルに保存します。別の relay プロセスがその outbox を読み取り、イベントを message broker へ publish して送信済みとしてマークします。これにより、データ変更が commit された場合に限り、そのイベントが記録されることが保証されます。

なぜ重要か

データベースと broker への書き込みを別々の二つのステップで行うと、一方が成功して他方が失敗し、イベントを喪失または重複させる恐れがあります。outbox はイベントとデータ変更を atomic にし、その後に確実に publish します。

関連ガイド