Transactional outbox: keeping the database and Kafka consistent without dual writes
Saving a row and then publishing to Kafka looks harmless until the process dies between the two. We walk through the dual-write bug we shipped, a working outbox with a polling relay you can run locally, the Debezium variant, and how sagas build on it across services.