Change Data Streaming For Spring Boot With Apache Kafka and Debezium
summary
Shows how Debezium + Kafka + Spring Boot solve dual-write inconsistency by capturing DB changes and streaming them reliably. Uses Postgres + Spring Data JPA, an outbox table written in the same transaction as the business row, Debezium reads the DB transaction log (WAL) and publishes JSON to Kafka topics, and a Spring Boot shipment consumer reads and processes those topics. Demo runs in Docker Compose (Kafka via Strimzi operator on Kubernetes is recommended), supports snapshotting and SMT routing, and the example proves end-to-end delivery—shipment service logs show the consumed events.
AI-written summary · about
chapters (13)
- 0:00Start
- 1:09Hello Microservices - My Old Friend
- 5:31Change Data Capture
- 7:28And Debezium is?
- 10:23Debezium Connectors
- 11:10Data Change Events
- 13:12Outbox Pattern
- 17:09Strangler Fig Pattern
- 25:48Example of Deployment
- 27:57Outbox table
- 30:30Starting Debezium
- 32:17Configuring Debezium
- 51:40The Demo
related talks
42mData Streaming for Microservices using Debezium
41mChange Data Streaming Patterns in Distributed Systems
49mChange Data Capture Pipelines with Debezium and Kafka Streams
48mStreaming Database Changes with Debezium
30mChange Data Streaming Patterns in Distributed Systems
31mChange Data Capture for non relational databases
42mWhy PostgreSQL people should care about Kafka and Debezium?
23mChange Data Capture: A RabbitMQ and Debezium Approach
