{"componentChunkName":"component---src-pages-projects-mdx-frontmatter-slug-tsx-content-file-path-src-content-projects-cdc-kafka-debezium-mdx","path":"/projects/debezium-cdc-kafka/","result":{"data":{"mdx":{"frontmatter":{"title":"Debezium-CDC-Kafka","slug":"debezium-cdc-kafka","tech":["Debezium","Kafka","Spring Boot","Angular","PostgreSQL","Java","TypeScript","Docker"],"date":"January 2026","link":"","repolink":"https://github.com/locolin1204/Debezium-CDC-Kafka","image":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAAsTAAALEwEAmpwYAAABHklEQVR42qWS2Y7CMAxF+f+vnFdEB9osjR0vd+QUBhB9ASxZSevm5NTJAW+EkcBZ4ESAKiACmD19c3gH6DNB6gpeLhBqoJLgAf0USEZYOGNqMzIXLJyg/oVh5gVVKhIXNOnI1MDa94HmAKuDZUvqBhZDV4eo30fZ5ufSca4CjYV7QDHgd844JcIpd+SmWNlQWZFJUdgwXRLmyqPeuqHQVtsFxk7UZeweGc/mMWKY1jDuCrHnOonhUfLB0OH+2rdYGJapKUgFJDogXbfDiDa9BbxFIcepzjivKy5Vx++GYf8EGEZ5AF5rcYC7QL0C93KDOn6OM6YlDAUr63+/n4C3+ZQMx0WGze3q3NPG+9I2UKWtj3wF+t4pN3a07vg2/gCOOQQVt7dndgAAAABJRU5ErkJggg==","aspectRatio":1.4970059880239521,"src":"/static/556617858a5850f739995f0dc52c95f8/5d2c5/debezium-cdc-kafka.png","srcSet":"/static/556617858a5850f739995f0dc52c95f8/002c1/debezium-cdc-kafka.png 250w,\n/static/556617858a5850f739995f0dc52c95f8/53f65/debezium-cdc-kafka.png 500w,\n/static/556617858a5850f739995f0dc52c95f8/5d2c5/debezium-cdc-kafka.png 1000w,\n/static/556617858a5850f739995f0dc52c95f8/8d364/debezium-cdc-kafka.png 1500w,\n/static/556617858a5850f739995f0dc52c95f8/3ba25/debezium-cdc-kafka.png 2000w,\n/static/556617858a5850f739995f0dc52c95f8/83519/debezium-cdc-kafka.png 6000w","srcWebp":"/static/556617858a5850f739995f0dc52c95f8/36ebb/debezium-cdc-kafka.webp","srcSetWebp":"/static/556617858a5850f739995f0dc52c95f8/1d872/debezium-cdc-kafka.webp 250w,\n/static/556617858a5850f739995f0dc52c95f8/4e6d4/debezium-cdc-kafka.webp 500w,\n/static/556617858a5850f739995f0dc52c95f8/36ebb/debezium-cdc-kafka.webp 1000w,\n/static/556617858a5850f739995f0dc52c95f8/fd45d/debezium-cdc-kafka.webp 1500w,\n/static/556617858a5850f739995f0dc52c95f8/6e77b/debezium-cdc-kafka.webp 2000w,\n/static/556617858a5850f739995f0dc52c95f8/e26e3/debezium-cdc-kafka.webp 6000w","sizes":"(max-width: 1000px) 100vw, 1000px"}}}},"body":"\n#### **Motivation**\nThis project aims to test out how to integrate `Debezium`, `Kafka` and `Spring Boot` all together.\n\nWe all have experienced where we wanted to keep track of the changes in the database, but polling doesn't sound right, it is wasting resources and ineffecient. Change Data Capture (CDC) is the solution, where changes from the database is picked up and published to the MQ for the services to further process the changes.\n\nThe following project simulate a simple ordering system, any `create`, `update`, `delete` of records will be captured by `Debezium` and published to `Kafka`.\n\n#### **Description**\n`Orders` is showing the latest orders \\\n`Orders Logs` is showing the history of changes in the database table\n\n![diagram](../../images/projects/debezium-cdc-kafka/frontend.png)\n\n#### **Demo**\n\nThe following video shows how the changes in database is monitored by `Debezium`, published to `Kafka`, pushed to `Spring Boot`, and finally streamed to `Angular` via Websocket\n![diagram](../../images/projects/debezium-cdc-kafka/demo.gif)\n\n#### **Docker container services and ports**\n\n**debezium/zookeeper:2.5** [:2181, :2888, :3888] Standard Zookeeper tailored for Debezium/Kafka setups\n\n**debezium/kafka:2.5** [:9092 (for inside docker), :9093 (for outside docker)] Apache Kafka image customized for Debezium workflows\n\n**debezium/connect:2.5** [:8083] Kafka Connect base pre-loaded with all official Debezium connectors\n\n**postgres:15** [:5432] Database\n\n#### **Local machine services and ports**\n\n**Spring Boot** [:8088]\n\n**Angular** [:4200]\n"}},"pageContext":{"id":"a2ef3fad-0e15-56a7-84de-ec202ca3fb35","frontmatter__slug":"debezium-cdc-kafka","__params":{"frontmatter__slug":"debezium-cdc-kafka"},"frontmatter":{"title":"Debezium-CDC-Kafka","date":"2026-01-15","slug":"debezium-cdc-kafka","tech":["Debezium","Kafka","Spring Boot","Angular","PostgreSQL","Java","TypeScript","Docker"],"link":"","repolink":"https://github.com/locolin1204/Debezium-CDC-Kafka","image":"../../images/projects/debezium-cdc-kafka.png"}}},"staticQueryHashes":[],"slicesMap":{}}