Uma API Spring Boot que utiliza o padrão CDC (Change Data Capture) para sincronizar dados entre o banco de dados PostgreSQL e MySQL através do Apache Kafka de forma assíncrona. Quando algum dado é alterado em alguma base de dados a outra é automaticamente notificada e recebe os dados, facilitando e melhorando a comunicação entre microserviços. O CDC (Change Data Capture) é uma técnica utilizada para capturar e propagar as alterações efectuadas numa base de dados. Permite-lhe transmitir e processar essas alterações em tempo real, possibilitando vários casos de utilização, como a integração de dados, a sincronização de dados e as arquitecturas orientadas para eventos. O Kafka, uma plataforma de streaming distribuído, é normalmente usado em conjunto com o CDC para lidar com o streaming e o processamento de dados de alterações. O Kafka fornece uma infraestrutura tolerante a falhas, escalável e altamente disponível para capturar e entregar os eventos de mudança. Ao combinar o CDC com o Kafka, é possível criar pipelines de dados robustos e escaláveis que capturam e propagam as alterações da base de dados para sistemas ou aplicações a jusante de forma fiável e eficiente. Isso permite o processamento e a análise de dados em tempo real, garantindo que seus sistemas estejam sempre atualizados com as alterações mais recentes. Em geral, o CDC com o Kafka é uma combinação poderosa que permite aproveitar os benefícios da captura de dados de alterações e das plataformas de streaming para criar arquiteturas modernas e orientadas por eventos. O Kafka Connect é um componente gratuito e de código aberto do Apache Kafka que funciona como um hub de dados centralizado para integração simples de dados entre bancos de dados, armazenamentos de valores chave, índices de pesquisa e sistemas de arquivos. É possível usar o Kafka Connect para transmitir dados entre o Apache Kafka e outros sistemas de dados e criar rapidamente conectores que movem grandes conjuntos de dados para dentro e para fora do Kafka. Crie CDC usando source e sync. A estrutura do Kafka Connect permite-lhe ingerir bases de dados inteiras ou recolher métricas de todos os servidores de aplicações em tópicos do Kafka, disponibilizando os dados para processamento de fluxo com baixa latência. Um conetor de exportação, por exemplo, pode fornecer dados de tópicos do Kafka para índices secundários, como o Elasticsearch, ou para sistemas em lote, como o Hadoop, para análise offline. Pode implementar o Kafka Connect como um processo autónomo que executa tarefas numa única máquina (por exemplo, recolha de registos) ou como um serviço distribuído, escalável e tolerante a falhas que suporta toda uma organização. O Kafka Connect oferece uma baixa barreira à entrada e uma baixa sobrecarga operacional. Pode começar com um ambiente autónomo para desenvolvimento e teste e, em seguida, expandir para um ambiente de produção completo para suportar o pipeline de dados de uma grande organização.