Creating new order record into order table and creating new order_created event into outbox table are in the same transactions.
● Another service listen and polls the outbox table records and publish events into separate processes.
● The current architecture required additional microservices that listen and polls records from the outbox table.
Problems
● Reduces the performance and error-prone operations.
● Time is wasted during Polling, wasted resources.
● Consuming system resource unnecessary pull requests.
● Come with a latency overhead, reach system limitations.
● Can cause additional Dual-write problem.
How solve these problems when applied outbox pattern ?
● CDC - Change Data Capture with Outbox Pattern.
https://medium.com/batc/outbox-polling-reliable-message-broker-publisher-61f46ae65cdd