Distributed Systems, for those who don't already know, is a system where different elements are distributed across multiple computer systems but work together to reach a common or shared goal, they do so by communicating with one and other. Petr Zapletal, gives a talk at Scale by the Bay, in which he discusses the advantages and disadvantages of various CDC approaches. While also providing guidance in this area and also sharing his experience.
Modern systems are usually designed as a collection of cooperating micro-services. These services commonly have their dedicated data stores for their individual needs. To support various requirements corresponding data are often stored in data stores with very different characteristics and use cases. A fundamental requirement emerging from these architectures is the need to reliably capture primary data changes. Change Data Capture (CDC) is a set of software design patterns used to determine and track the data that has changed so that action can be taken using the changed data.