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.