O que é Apache Kafka
Plataforma de streaming de eventos
Apache Kafka é uma plataforma distribuída de streaming de eventos projetada para lidar com grandes volumes de dados em tempo real.
Conceitos principais
- Topic — categoria para organizar mensagens
- Partition — divisão do topic para paralelismo
- Producer — emissor de mensagens
- Consumer — receptor de mensagens
- Broker — servidor Kafka
- Consumer Group — grupo de consumidores para balanceamento de carga
Benefícios do Kafka
- Alto throughput (milhões de mensagens/seg)
- Escalabilidade horizontal
- Armazenamento de mensagens a longo prazo
- Garantias de entrega (at-least-once, exactly-once)
- Tolerância a falhas através de replicação
Aplicações
- Event-Driven Architecture — comunicação de microsserviços
- Logging — coleta centralizada de logs
- Streaming de dados — analytics em tempo real
- Pipelines ETL — integração de dados
- IoT — processamento de dados de dispositivos
Ecossistema
- Kafka Connect — conectores de bancos de dados
- Kafka Streams — processamento de streams em Java
- ksqlDB — SQL para streams de dados
- Schema Registry — gerenciamento de schemas Avro/JSON