Messaging
Topic
Messaging
Once two services need to agree on something, you need messaging. These posts cover Kafka, why the database is not a queue, the transactional outbox pattern, and the failure modes specific to async communication between services.
Backend
The Outbox Pattern: Reliable Events Without Two-Phase Commit
Reliable event publishing alongside database writes is harder than it looks. The transactional outbox pattern solves it without distributed transactions.
Read more BackendThe Database Is Not Your Message Queue
Polling a status column every few seconds works until it does not. Here is why your database makes a terrible message queue and what to reach for instead.
Read more BackendThe Transactional Outbox Pattern in Spring Boot
Build the transactional outbox pattern in Spring Boot with Kafka: atomic writes, a polling relay, and full integration tests with Testcontainers, all working.
Read more