Apache Kafka: Sistema de Mensagens Distribuídas de Próxima Geração



O Apache Kafka fornece sistemas de mensagens escaláveis ​​e de alto rendimento, tornando-o popular em análises em tempo real. Aprenda como um tutorial Apache kafka pode ajudá-lo

No mundo de hoje, dados são o ingrediente principal de aplicativos da Internet e geralmente inclui o seguinte:





  • Visitas de página e cliques
  • Atividades do usuário
  • Eventos correspondentes a logins
  • Atividades de redes sociais, como curtidas, compartilhamentos e comentários
  • Métricas específicas do aplicativo (por exemplo, registros, tempo de carregamento da página, desempenho etc.)

este os dados podem ser usados ​​para executar análises em tempo real servindo a vários fins, alguns dos quais são:

  • Entrega de anúncios
  • Rastrear comportamentos anormais do usuário
  • Exibindo pesquisa com base na relevância
  • Mostrando recomendações com base em atividades anteriores

Problema: Coletar todos os dados não é fácil, pois os dados são gerados de várias fontes em diferentes formatos



Solução: Uma das maneiras de resolver esse problema é usar um sistema de mensagens. Os sistemas de mensagens fornecem uma integração perfeita entre aplicativos distribuídos com a ajuda de mensagens.

apache-kafka-next-generation-distributed-messaging-system

Apache Kafka:



O Apache Kafka é um sistema de mensagens de assinatura de publicação distribuída que foi originalmente desenvolvido no LinkedIn e mais tarde tornou-se parte do projeto Apache. Kafka é rápido, ágil, escalável e distribuído por design.

java split string vários delimitadores

Arquitetura e Terminologia Kafka:

Tópico : Um fluxo de mensagens pertencentes a uma determinada categoria é chamado de tópico

Produtor: Um produtor pode ser qualquer aplicativo que publique mensagens em um tópico

Consumidor: Um consumidor pode ser qualquer aplicativo que assine tópicos e consuma as mensagens

Corretor: O cluster Kafka é um conjunto de servidores, cada um dos quais é chamado de broker

O Kafka é escalonável e permite a criação de vários tipos de clusters.

  • Cluster de agente único de nó único
  • Cluster de agente múltiplo de nó único
  • Multiple Nodes Multiple Broker Cluster

Corretor de Nó Único

Qual é o papel do ZooKeeper?

Cada corretor Kafka coordena com outros corretores Kafka usando o ZooKeeper. Produtores e consumidores são notificados pelo serviço ZooKeeper sobre a presença de novos corretores ou falha do corretor no sistema Kafka.

Corretores de Nó Único e Múltiplos

Multiple Nodes Multiple Brokers

Kafka @ LinkedIn

O feed de notícias do LinkedIn é fornecido por Kafka

As recomendações do LinkedIn são fornecidas por Kafka

As notificações do LinkedIn são fornecidas por Kafka

Nota: Além disso, o LinkedIn usa o Kafka para muitas outras tarefas como monitoramento de log, métricas de desempenho, melhoria de pesquisa, entre outras.

Quem mais usa Kafka?

DataSift: DataSift usa Kafka como um coletor de eventos de monitoramento e para rastrear o consumo de fluxos de dados pelos usuários em tempo real

Wooga: Wooga usa Kafka para agregar e processar dados de rastreamento de todos os seus jogos do Facebook (hospedados em vários provedores) em um local central

Spongecell: A Spongecell usa o Kafka para executar toda a sua análise e pipeline de monitoramento, conduzindo aplicativos em tempo real e ETL

Loggly: Loggly é o gerenciamento de log baseado em nuvem mais popular do mundo. Ele usa o Kafka para coleta de log.

Estudo Comparativo: Kafka vs. ActiveMQ vs. RabbitMQ

O Kafka tem um formato de armazenamento mais eficiente. Em média, cada mensagem tem uma sobrecarga de 9 bytes no Kafka, contra 144 bytes no ActiveMQ

Tanto no ActiveMQ quanto no RabbitMQ, os corretores mantêm o estado de entrega de cada mensagem gravando no disco, mas, no caso do Kafka, não há gravação no disco, tornando-o mais rápido.

Com a ampla adoção do Kafka na produção, parece ser uma solução promissora para resolver problemas do mundo real. O treinamento do Apache Kafka pode ajudá-lo a ficar à frente de seus colegas em uma carreira de análise em tempo real. Comece com um tutorial do Apache Kafka Aqui .

Tem alguma questão para nós? Mencione isso na seção de comentários e entraremos em contato com você.

Postagens relacionadas:

O que você precisa para uma carreira em Análise em Tempo Real