
The monolithic architecture works well for small, simple applications. However, successful applications have a habit of growing. Eventually the development team ends up in what is known as monolithic hell. All aspects of software development and deployment become painfully slow. The solution is to adopt the microservice architecture, which structures an application as a services, organized around business capabilities. This architecture accelerates software development and enables continuous delivery and deployment of complex software applications. Microservice Patterns teaches enterprise developers and architects how to build applications with the microservice architecture. Rather than simply advocating for the use the microservice architecture, this clearly-written guide takes a balanced, pragmatic approach. You'll discover that the microservice architecture is not a silver bullet and has both benefits and drawbacks. Along the way, you'll learn a pattern language that will enable you to solve the issues that arise when using the microservice architecture. This book also teaches you how to refactor a monolithic application to a microservice architecture.
I'd still recommend Sam Newman's classic Building Microservices (https://www.oreilly.com/library/view/building-microservices/...) as it describes very clearly the main principles for designing robust microservices architectures. If you wanted to learn how to migrate a monolith to a microservices architecture, you can also checkout Newman's more recent Monolith to Microservices (https://www.oreilly.com/library/view/monolith-to-microservic...).
If you want a more practical approach with JavaScript examples, I'd recommend Ashley Davis' Bootstrapping Microservices with Docker, Kubernetes, and Terraform (https://www.manning.com/books/bootstrapping-microservices-wi...).
Finally, if you wanted a practical approach with more emphasis on API integrations and examples in Python, I'd recommend Microservices APIs in Python (https://www.manning.com/books/developing-microservice-apis-w... - disclosure - I'm the author). You can download two free chapters from this URL: https://www.microapis.io/resources/microservice-apis-in-pyth...
It goes without saying that there're a lot more resources about microservices, and many of them excellent, but these are the books I'd recommend to get started.
An alternative implementation is provided by Debezium [1], a general solution for change data capture for MySQL, Postgres, MongoDB, SQL Server and others, based on top of Apache Kafka (but can also be used with Pulsar and others).
There's support for outbox coming as part of Debezium out of the box [2].
Disclaimer: I'm working on Debezium.
[1] https://debezium.io/ [2] https://debezium.io/documentation/reference/1.0/configuratio...