Recentemente um amigo me perguntou sobre alguns projetos interessantes no universo Kafka. E eu separei 3 projetos que eu acompanho, 1 dos quais eu contribuo, e que acho interessantes. É uma lista bem pessoal e nem de longe representa toda a riqueza do universo Kafka.
O Strimzi é um projeto que facilita o trabalho de rodar o Kafka em Kubernetes (k8s) e suas distribuições (OpenShift, GKS, k3s, etc). O Kafka é relativamente complicado para gerenciar e botar em produção, e ainda mais complicado de rodar dentro de Kubernetes. Esse projeto abstrai a maior parte da complexidade de manter um cluster Kafka rodando nesse tipo de ambiente.
O Camel Kafka Connector (disclaimer: eu contribuo com esse projeto) é um runtime do Apache Camel que envelopa todos os mais de 300 componentes do Camel e permite roda-los como conectores dentro de uma instância do Kafka Connect. O Kafka Connect é um componente do Kafka pra rodar programas que movem dados pra dentro ou pra fora do Kafka. Na maior parte das vezes você consegue fazer integrações pra dentro ou fora do Kafka sem precisar escrever uma linha de código sequer.
O Debezium é um projeto pra Change Data Capture (CDC) e que permite capturar as alterações que ocorrem e um banco de dados e publicá-las no Kafka. O Debezium usa a API do Kafka Connect para rodar seus “source connectors”.