Transactional Outbox Pattern with Debezium
Learn how to achieve reliable microservice data exchange using the Transactional Outbox Pattern and Debezium. This course covers different data exchange patterns, the architecture of Debezium, and hands-on demos for implementing loose coupling and avoiding dual writes. Perfect for backend engineers looking to optimize microservices and ensure data integrity.
What you’ll learn
- Reliable microservice data exchange using Debezium
- Transactional Outbox Pattern
- Debezium with Mongodb connector
- Loose coupling Micro-services using Change Data Capture (CDC) and Debezium
Debezium is a set of distributed services to capture changes in your databases so that your applications can see those changes and respond to them. Debezium records all row-level changes within each database table in a change event stream, and applications simply read these streams to see the change events in the same order in which they occurred.
This is widely used to loosely couple and scale the micro-service architecture. It supports wide range of databases like Mongodb, MySQL, Postgres, Oracle etc.
Advantages of Debezium:
1. Ensures all data changes are captured.
2. Supports wide range of Databases.
3. Produces change events with very low delay. Also avoids high CPU usage.
4. Can capture deletes.
5. Can capture old record state and additional metadata.
What to expect from this course:
1. Learn about what are different Data Exchange patterns between Microservices, their advantages and disadvantages.
2. What is Transactional Outbox Pattern, why is it needed, and what are various ways to implement it?
3. What is Debezium, it’s architecture, connector for Mongodb and it’s internal working.
4. Full Hands-on demo, where we will develop order service that accepts and stores order details, stream these details using Debezium as events on Kafka, and then consume these events using loyalty service, that allocates loyalty points to the customer, thus loose coupling dependency between our order service and loyalty service and also avoiding Dual Writes problem!
Who this course is for:
- Backend engineers who want to loose couple microservices and avoid Dual writes problem
- Any engineer who wants to learn reliable microservice data exchange using Transactional Outbox Pattern and Debezium