Hubs de Eventos do Azure: uma plataforma de streaming de dados em tempo real com suporte nativo ao Apache Kafka
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.
As empresas podem usar Hubs de Eventos para ingerir e armazenar dados de streaming. Ao usar dados de streaming, as empresas podem obter informações valiosas, gerar análises em tempo real e responder a eventos à medida que eles acontecem. Eles podem usar esses dados para melhorar sua eficiência geral e experiência do cliente.
Os Hubs de Eventos são a camada de ingestão de eventos preferida de qualquer solução de streaming de eventos criada sobre o Azure. Ele se integra com serviços de dados e análise dentro e fora do Azure para criar um pipeline completo de streaming de dados para atender aos seguintes casos de uso:
- Processe dados do seu hub de eventos usando o Azure Stream Analytics para gerar insights em tempo real.
- Analise e explore dados de streaming com o Azure Data Explorer.
- Crie seus próprios aplicativos, funções ou microsserviços nativos da nuvem que são executados em streaming de dados de Hubs de Eventos.
- Transmita eventos com validação de esquema usando o Registro de Esquema do Azure interno para garantir a qualidade e a compatibilidade dos dados de streaming.
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.
Os Hubs de Eventos são criados como um mecanismo de broker nativo da nuvem. Por esse motivo, você pode executar cargas de trabalho Kafka com melhor desempenho, melhor eficiência de custos e sem sobrecarga operacional.
Para obter mais informações, consulte Hubs de Eventos do Azure para Apache Kafka.
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.
O Registro de Esquema garante a compatibilidade e a consistência dos dados entre produtores e consumidores de eventos. Permite a evolução, validação e governação do esquema e promove o intercâmbio de dados e a interoperabilidade eficientes.
O Registro de Esquema integra-se com seus aplicativos Kafka existentes e suporta vários formatos de esquema, incluindo esquemas Avro e JSON.
Para obter mais informações, consulte Registro de esquema do Azure em 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.
Para obter mais informações, consulte os artigos na seção de integração do Azure Stream Analytics do sumário.
Explore o streaming de dados com o Azure Data Explorer
O Azure Data Explorer é uma plataforma totalmente gerenciada para análise de big data que oferece alto desempenho e permite a análise de grandes volumes de dados quase em tempo real. Ao integrar Hubs de Eventos com o Azure Data Explorer, você pode executar análises e explorações quase em tempo real de dados de streaming.
Para obter mais informações, consulte Ingerir dados de um hub de eventos no Azure Data Explorer.
Funções do Azure, SDKs e o ecossistema Kafka
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.
O ecossistema também permite a integração com o Azure Functions, Azure Spring Apps, Kafka Connectors e outras plataformas e tecnologias de análise de dados, como Apache Spark e Apache Flink.
Streaming de eventos flexível e econômico
Você pode experimentar o streaming de eventos flexível e econômico por meio dos níveis Standard, Premium ou Dedicado para Hubs de Eventos. Essas opções atendem às necessidades de streaming de dados que variam de alguns MB/seg a vários GB/seg. Você pode escolher a correspondência adequada às suas necessidades.
Dimensionável
Com os Hubs de Eventos, você pode começar com fluxos de dados em megabytes e aumentar para gigabytes ou terabytes. O recurso de inflação automática é uma das opções disponíveis para dimensionar o número de unidades de taxa de transferência ou unidades de processamento para atender às suas necessidades de uso.
Suporta streaming de mensagens grandes
Na maioria dos cenários de streaming, os dados são caracterizados por serem leves, normalmente inferiores a 1 MB, e terem uma alta taxa de transferência. Há também casos em que as mensagens não podem ser divididas em segmentos menores. Os Hubs de Eventos podem acomodar eventos de até 20 MB com clusters dedicados escaláveis de autoatendimento sem custo extra. Esse recurso permite que os Hubs de Eventos lidem com uma ampla variedade de tamanhos de mensagens para garantir operações de negócios ininterruptas. Para obter mais informações, consulte Enviar e receber mensagens grandes com Hubs de Eventos do Azure.
Capture dados de streaming para retenção de longo prazo e análise em lote
Capture seus dados quase em tempo real no Armazenamento de Blobs do Azure ou no Armazenamento Azure Data Lake para retenção de longo prazo ou processamento em microlotes. Você pode obter esse comportamento no mesmo fluxo que usa para derivar análises em tempo real. A configuração da captura de dados de eventos é rápida.
Como funciona
Os Hubs de Eventos fornecem uma plataforma unificada de streaming de eventos com um buffer de retenção de tempo, separando os produtores de eventos dos consumidores de eventos. Os aplicativos de produtor e consumidor podem realizar a ingestão de dados em larga escala por meio de vários protocolos.
O diagrama a seguir mostra os principais componentes da arquitetura dos Hubs de Eventos.
Os principais componentes funcionais dos Hubs de Eventos incluem:
- 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.
Conteúdos relacionados
Para começar a usar os Hubs de Eventos, consulte os seguintes inícios rápidos.
Transmitir dados usando o SDK de Hubs de Eventos (AMQP)
Você pode usar qualquer um dos exemplos a seguir para transmitir dados para Hubs de Eventos usando SDKs.
- .NET Core
- Java
- Spring
- Python
- JavaScript
- Ir
- C (apenas enviar)
- Apache Storm (apenas para receber)
Transmitir dados usando o Apache Kafka
Você pode usar os exemplos a seguir para transmitir dados de seus aplicativos Kafka para Hubs de Eventos.
Validação de esquema com o Registro de Esquema
Você pode usar o Registro de Esquema de Hubs de Eventos para executar a validação de esquema para seus aplicativos de streaming de eventos.