This is a Spring Boot application that demonstrates Change Data Capture (CDC) using Debezium.
- Java 17 or later
- Docker and Docker Compose
- Gradle
- Swagger UI for API documentation
- RabbitMQ consumer for Debezium events
- RabbitMQ producer for sending events to external consumers
- CRM data
- Configured with logical replication for CDC
- Message broker for Debezium events
- Management interface available
- Message broker for consumers
- Spring Boot Application: http://localhost:8080
- Swagger UI: http://localhost:8080/swagger-ui.html
- RabbitMQ Management: http://localhost:15672
- Changes in the tracked tables are captured by Debezium
- Events are published to RabbitMQ topic exchange
crm.update.exchange - Spring Boot application consumes events from queue
debezium_crm_db.change.TABLENAME_queuewith sourceKeycrm_changes - Events are logged with operation type (create/update/delete)
- Spring Boot application parses the events and forwards to external consumers using exchange name
crm.update.exchangeand routingKeycrm.update.*