Microservices represent complex business domains in the form of loosely coupled systems, but these don't exist in isolation: services need to propagate data changes amongst each other, in a reliable and scalable way. Also, oftentimes, you don't get to start from scratch, but need to migrate from monolithic legacy applications to microservices.
In this session we'll discuss and showcase how change data capture (CDC) and stream processing 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
- Deal with concerns like schema changes and backfilling of change data feeds
We'll explore how open-source technologies, like Debezium and Apache Flink, can help with these tasks; discussing best practices gained from applying these tools in the real world.
Senior Staff Software Engineer @Decodableco
Gunnar Morling is a software engineer and open-source enthusiast by heart, currently working at Decodable on stream processing based on Apache Flink. In his prior role as a software engineer at Red Hat, he led the Debezium project, a distributed platform for change data capture. He is a Java Champion and has founded multiple open source projects such as JfrUnit, kcctl, and MapStruct. Gunnar is an avid blogger (morling.dev) and has spoken at a wide range of conferences like QCon, Java One, and Devoxx. He lives in Hamburg, Germany.