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:
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