Part 7: Phase 2 — Dual-Write: CDC & Kafka Synchronization
← Previous Chapter: Part 6: Phase 1 — Strangler Fig | Series Hub | Next Chapter: Part 8: Phase 3 — Full Cutover → Answer-first: Dual-writing at the application layer creates race conditions and split-brain states. Instead, Phase 2 implements Change Data Capture (CDC) via Debezium reading the MySQL binlog directly, streaming event deltas through Apache Kafka to populate PostgreSQL microservice databases asynchronously. flowchart LR MagentoAdmin["Magento Admin Update"] --> MySQL["Magento MySQL"] MySQL -->|"Binlog Stream"| Debezium["Debezium CDC Connector"] Debezium -->|"JSON Event Deltas"| Kafka["Kafka Topic: magento.catalog.products"] Kafka -->|"Consumer Group"| GoSync["Go Catalog Sync Worker"] GoSync -->|"Upsert JSONB"| Postgres["Target PostgreSQL"]