← Back to microservices patterns mapconsistency
📤
Microservices Pattern
Outbox + Inbox Pattern
Use outbox records for reliable sends and inbox records for idempotent receives.
Detailed Description
Outbox solves reliable event publishing. Inbox solves duplicate event processing.
Together they create practical exactly-once effects over systems that normally deliver at least once.
Visual Diagram
Sender DB transaction: write data + outbox Receiver: check inbox messageId process once
Tradeoffs
Pros
Reliable delivery and deduplication
Cons
Inbox/outbox cleanup and operational complexity
Examples: Debezium outbox, custom outbox poller, inbox table