This post originally appeared on the Decodable blog. All rights reserved. Over the last few years, the outbox pattern has become a common solution for implementing data exchange flows between …
Table of Contents Introduction Microservices implementation Common model Book service User service Notification service Build Infrastructure Persistence layer Kafka Connect and Debezium connectors Kafka Schema registry Reverse proxy Monitoring tools Local launch and CI/CD Testing REST API and user notifications testing Testing of processing messages from the inbox table Testing of processing invalid messages from dead letter queues Conclusion Useful links Introduction In this article, you will see an example of a project implementation based on the Transactional outbox, Inbox, and Saga event-driven architecture patterns. The stack of technologies includes Kotlin, Spring Boot 3, JDK 21, virtual threads, GraalVM, PostgreSQL, Kafka, Kafka Connect, Debezium, CloudEvents, Caddy, Docker, and other tools.
This post originally appeared on the Decodable blog. All rights reserved. Over the last few years, the outbox pattern has become a common solution for implementing data exchange flows between …
Comparing the outbox pattern to alternatives like “listen-to-yourself” and 2-phase commit (2PC) transactions. What’s the best choice for data exchange flows between microservices?