1

Pitch: Change Data Capture - Mini CDC

Se você só precisa reagir à mudança de em uma tabela MySQL, não deveria precisar consultar o banco a cada poucos segundos — muito menos adotar uma plataforma complexa de CDC.

É para esse cenário que serve o Mini CDC. Ele acompanha diretamente o binlog do MySQL, identifica as mudanças que realmente importam e publica os eventos correspondentes no RabbitMQ.

Por exemplo:

“Quando o campo status de um pedido mudar para APPROVED, publique um evento.”

Sem polling. Sem consultas repetitivas. Sem colocar essa responsabilidade dentro da aplicação principal. Por meio de uma configuração simples, é possível definir:
• quais tabelas devem ser monitoradas;
• quais operações devem ser consideradas;
• quais campos precisam realmente ter mudado;
• quais valores devem atender às condições;
• qual evento e routing key devem ser publicados.

Uma única conexão de replicação pode acompanhar várias tabelas. O Mini CDC também oferece checkpoint para retomada após reinicializações, Publisher Confirms, identificadores determinísticos para idempotência, health checks e métricas operacionais simples.

O objetivo não é substituir plataformas completas como o Debezium. A proposta é permanecer pequeno e resolver bem um problema específico:

MySQL binlog → filtros configuráveis → RabbitMQ

Para pequenos projetos, isso significa menos infraestrutura, menos código de integração e uma forma simples de reagir às mudanças no banco de dados.

O projeto foi desenvolvido em Go, para execução em multiplas plataformas com foco em simplicidade, baixo consumo e facilidade de manutenção.

O Mini CDC é open source, e o README explica no detalhe como ele funciona e como configurá-lo:
https://github.com/damtaipu/minicdc

#Go #MySQL #RabbitMQ #CDC #ArquiteturaDeSoftware #OpenSource

Carregando publicação patrocinada...