Skip to main content

Kafka

kafka

Documentação Oficial

Documentacao Confluent

O Kafka foi desenvolvido pelo LinkedIn em 2010 e agora está sendo usado por milhares de organizações.

80 entre as 100 maiores empresas utilizam kafka de diferentes formas.

O Apache Kafka é o software de processamento de stream open source mais popular para coletar, processar, armazenar e analisar dados em escala.

  • Excelente desempenho
  • Baixa latência
  • Tolerância a falhas
  • Alto rendimento
  • Capaz de lidar com milhares de mensagens por segundo
  • Escala horizontalmente (ilimitado) e com servidores de baixo custo
  • Uso de hardwares mais baratos disponível no mercado e em cloud
  • Não requer parada para upgrades, somente adicionar mais nós ao cluster

Alguns benefícios comuns são:

  • Criação de pipelines de dados
  • Alavancando fluxos de dados em tempo real, permitindo métricas operacionais e integração de dados em inúmeras fontes.

Kafka permite que as organizações modernizem suas estratégias de dados com arquitetura de streaming de eventos. As principais empresas do mundo utilizam Kafka.

Várias clouds oferecem o Kafka como serviço pronto para uso, um exemplo clássico é o MSK na AWS e o mais famoso que é o Confluent Cloud, mas nada impede que temos o nosso próprio Kafka, afinal é open source.

Alguns Casos de uso

  • Transição de uma arquitetura monolítica para uma arquitetura de microserviços.
  • Atua como um Bus para eventos do sistema.
  • Processamento assincrono porém em tempo real.
  • Pagamentos e transações financeiras em tempo real, como em bolsas de valores, bancos e seguradoras.
  • Rastreamento e monitoramento de carros, caminhões, frotas e remessas em tempo real, como na logística e na indústria automotiva.
  • Para capturar e analisar continuamente os dados do sensor de dispositivos IoT ou outros equipamentos, como em fábricas e parques eólicos.
  • Coletar e reagir imediatamente às interações e pedidos do cliente, como no varejo, na indústria hoteleira e de viagens e em aplicativos móveis.
  • Monitorar pacientes em atendimento hospitalar e prever mudanças nas condições para garantir tratamento oportuno em emergências.
  • Conectar, armazenar e disponibilizar dados produzidos por diferentes divisões de uma empresa.
  • Servir como base para plataformas de dados, arquiteturas orientadas a eventos e microsserviços.