Change Data Streaming Patterns in Distributed Systems


Gunnar Morling
Red Hat, Software Engineer

Gunnar Morling is a software engineer and open-source enthusiast by heart. He is leading the Debezium ( project, a tool for change data capture (CDC). He is a Java Champion, the spec lead for Bean Validation 2.0 (JSR 380), and has founded multiple open source projects such as Deptective and MapStruct ( Prior to joining Red Hat, Gunnar worked on a wide range of Java EE projects in the logistics and retail industries. He's based in Hamburg, Germany.

Hans-Peter Grahsl
NETCONOMY, SW Engineer, Trainer, Consultant

Hans-Peter is a technical trainer at NETCONOMY. As an independent engineer and consultant, he helps customers to build cloud-based or on-premises data architectures using modern technology stacks and NoSQL data stores. He is also an associate lecturer for Software Engineering at CAMPUS 02 and is speaking at tech-related and developer conferences. For his code contributions, conference talks, and blog post writing at the intersection of the Apache Kafka and MongoDB ecosystems, Hans-Peter received the Confluent Community Catalyst award twice and became one of the founding members of the MongoDB Champions Program

Microservices are one of the big trends in software engineering of the last few years; organizing business functionality in several self-contained, loosely coupled services helps teams to work efficiently, make the most suitable technical decisions, and react quickly to new business requirements.

In this session, we'll discuss and showcase how open-source change data capture (CDC) with Debezium can help developers with typical challenges they often face when working on microservices. Come and join us to learn how to:

* Employ the outbox pattern for reliable, eventually consistent data exchange between microservices, without incurring unsafe dual writes or tight coupling

* Gradually extract microservices from existing monolithic applications, using CDC and the strangler fig pattern

* Coordinate long-running business transactions across multiple services using CDC-based saga orchestration, ensuring such activity gets consistently applied or aborted by all participating services