Outbox Pattern رویداد خروجی را در همان تراکنش تغییر داده اصلی در جدول Outbox ثبت می‌کند و Worker جداگانه آن را منتشر می‌کند.

از مفهوم تا اجرا

ثبت سفارش و ثبت رویداد سفارش در یک تراکنش انجام می‌شود تا بعد از Crash پیام از دست نرود.

مصرف‌کننده باید Idempotent باشد چون انتشار دوباره ممکن است رخ دهد.

آوت‌باکس پترن و تحویل پیام

سفارش و رویداد OrderPlaced در یک تراکنش محلی ذخیره می‌شوند. Worker رویداد را از جدول Outbox به Broker منتقل می‌کند. مصرف‌کننده باید تکرار احتمالی پیام را مدیریت کند.