Descubra os Hubs de Eventos do Azure
Os Hubs de Eventos do Azure são um serviço nativo de streaming de dados na nuvem que pode transmitir milhões de eventos por segundo, com baixa latência, de qualquer origem para qualquer destino. Os Hubs de Eventos são compatíveis com o Apache Kafka. Ele permite que você execute cargas de trabalho Kafka existentes sem alterações de código.
Com os Hubs de Eventos, você pode ingerir, armazenar em buffer, armazenar e processar seu fluxo em tempo real para obter informações acionáveis. Os Hubs de Eventos usam um modelo de consumidor particionado. Ele permite que vários aplicativos processem o fluxo simultaneamente e permite controlar a velocidade de processamento. Os Hubs de Eventos também se integram ao Azure Functions para arquiteturas sem servidor.
Um amplo ecossistema está disponível para o protocolo AMQP 1.0 padrão do setor. Os SDKs estão disponíveis em linguagens como .NET, Java, Python e JavaScript, para que você possa começar a processar seus fluxos a partir de Hubs de Eventos. Todas as linguagens de cliente suportadas oferecem integração de nível baixo.
Capacidades chave
Saiba mais sobre os principais recursos dos Hubs de Eventos do Azure nas seções a seguir.
Apache Kafka nos Hubs de Eventos do Azure
Os Hubs de Eventos são um mecanismo de streaming de eventos multiprotocolo que suporta nativamente os protocolos AMQP (Advanced Message Queuing Protocol), Apache Kafka e HTTPS. Como ele suporta o Apache Kafka, você pode trazer cargas de trabalho do Kafka para Hubs de Eventos sem fazer alterações no código. Você não precisa configurar, configurar ou gerenciar seus próprios clusters Kafka ou usar uma oferta Kafka-as-a-service que não seja nativa do Azure.
Registro de esquema em Hubs de Eventos
O Registro de Esquema do Azure em Hubs de Eventos fornece um repositório centralizado para gerenciar esquemas de aplicativos de streaming de eventos. O Registro de Esquema vem gratuitamente com todos os namespaces de Hubs de Eventos. Ele se integra com seus aplicativos Kafka ou aplicativos baseados em SDK de Hubs de Eventos.
Processamento em tempo real de eventos de streaming com o Stream Analytics
Os Hubs de Eventos integram-se com o Azure Stream Analytics para permitir o processamento de fluxos em tempo real. Com o editor sem código integrado, você pode desenvolver um trabalho do Stream Analytics usando a funcionalidade de arrastar e soltar, sem escrever nenhum código.
Como alternativa, os desenvolvedores podem usar a linguagem de consulta Stream Analytics baseada em SQL para executar o processamento de fluxo em tempo real e aproveitar uma ampla gama de funções para analisar dados de streaming.
Conceitos-chave
Os Hubs de Eventos contêm os seguintes componentes principais:
- Aplicativos produtores: esses aplicativos podem ingerir dados para um hub de eventos usando SDKs de Hubs de Eventos ou qualquer cliente produtor Kafka.
- Namespace: O contêiner de gerenciamento para um ou mais hubs de eventos ou tópicos do Kafka. As tarefas de gerenciamento, como alocar capacidade de streaming, configurar a segurança da rede e habilitar a recuperação de desastres geográficos, são tratadas no nível do namespace.
- Tópico Hubs de Eventos/Kafka: Em Hubs de Eventos, você pode organizar eventos em um hub de eventos ou em um tópico Kafka. É um log distribuído somente anexo, que pode incluir uma ou mais partições.
- Partições: elas são usadas para dimensionar um hub de eventos. São como pistas numa autoestrada. Se precisar de mais taxa de transferência de streaming, você pode adicionar mais partições.
- Aplicativos de consumidor: esses aplicativos podem consumir dados buscando através do log de eventos e mantendo o deslocamento do consumidor. Os consumidores podem ser clientes consumidores Kafka ou clientes SDK de Hubs de Eventos.
- Grupo de consumidores: este grupo lógico de instâncias de consumidores lê dados de um hub de eventos ou tópico do Kafka. Ele permite que vários consumidores leiam os mesmos dados de streaming em um hub de eventos de forma independente, em seu próprio ritmo e com suas próprias compensações.