
A key thing to note here is the code deletes the record on the ‘Outbox’ Table once it has been written, so that the outbox table doesn’t grow. Also Debezium doesn’t examine the actual contents of the database table, but instead it tails the w…
…fka event to access its data and cannot, for instance, synchronously query the data it has written. By relying on database transactions to drive event propagation through our event bus, however, we can ensure guaranteed delivery to consumers and instant “read your own write” capabilities to producing services.
is problem by ensuring reliable data exchange…tive, but many implementations tie messages’ contracts to the producing service’s database schemas. A transactional outbox is a design pattern that solves this problem by ensuring reliable data exchange and decoupling database schemas and message contracts.