Hubs de Eventos do Azure: uma plataforma de streaming de dados em tempo real com suporte nativo do 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 fonte para qualquer destino. Os Hubs de Eventos são compatíveis com o Apache Kafka. Ele permite que você execute cargas de trabalho existentes do Kafka sem alterações de código.
As empresas podem usar os Hubs de Eventos para ingerir e armazenar dados de streaming. Usando dados de streaming, as empresas podem obter insights valiosos, gerar análise em tempo real e responder a eventos à medida que eles acontecem. Eles podem usar esses dados para aprimorar a eficiência geral e a experiência do cliente.
Os Hubs de Eventos são a camada preferencial de ingestão de eventos de qualquer solução de streaming de eventos que você cria sobre o Azure. Ele se integra aos serviços de dados e análise dentro e fora do Azure para criar um pipeline de streaming de dados completo para atender aos seguintes casos de uso:
- Processe dados do hub de eventos usando o Azure Stream Analytics para gerar insights em tempo real.
- Analisar e explorar dados de streaming com o Azure Data Explorer.
- Crie aplicativos nativos de nuvem, funções ou microsserviços executados em dados de streaming por meio dos 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.
Principais recursos
Saiba mais sobre os principais recursos dos Hubs de Eventos do Azure nas seções a seguir.
Apache Kafka no Hubs de Eventos do Azure
Os Hubs de Eventos são um mecanismo de streaming de eventos de vários protocolos que dá suporte nativo a protocolos AMQP (Advanced Message Queuing Protocol), Apache Kafka e HTTPS. Como ele dá suporte ao Apache Kafka, você pode trazer cargas de trabalho do Kafka para Os Hubs de Eventos sem fazer nenhuma alteração de código. Você não precisa configurar, configurar ou gerenciar seus próprios clusters Kafka ou usar uma oferta Kafka como serviço que não seja nativa do Azure.
Os Hubs de Eventos são criados como um mecanismo de agente nativo de nuvem. Por esse motivo, você pode executar cargas de trabalho do Kafka com melhor desempenho, melhor eficiência de custo e sem sobrecarga operacional.
Para saber mais, confira Hubs de Eventos do Azure para o Apache Kafka.
Registro de esquema nos Hubs de Eventos
O Registro de Esquema do Azure nos Hubs de Eventos fornece um repositório centralizado para gerenciar esquemas de aplicativos de streaming de eventos. O Registro de Esquema é gratuito com cada namespace dos Hubs de Eventos. Ele se integra aos aplicativos Kafka ou aplicativos baseados em SDK dos Hubs de Eventos.
O Registro de Esquema garante a compatibilidade e a consistência de dados entre produtores e consumidores de eventos. Ele permite a evolução, a validação e a governança do esquema e promove a troca de dados e a interoperabilidade eficientes.
O Registro de Esquema se integra aos aplicativos Kafka existentes e dá suporte a vários formatos de esquema, incluindo esquemas Avro e JSON.
Para saber mais, confira Registro de Esquema do Azure nos Hubs de Eventos.
Processamento em tempo real de eventos de streaming com o Stream Analytics
Os Hubs de Eventos se integram ao Azure Stream Analytics para habilitar o processamento de fluxo em tempo real. Com o editor interno sem código, 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 do 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, confira os artigos na seção de integração do Azure Stream Analytics do sumário.
Explorar dados de streaming 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 os Hubs de Eventos ao Azure Data Explorer, você pode executar análises quase em tempo real e exploração de dados de streaming.
Para obter mais informações, consulte Ingestão de dados de um hub de eventos no Azure Data Explorer.
Funções do Azure, SDKs e o ecossistema do Kafka
Com os Hubs de Eventos, você pode ingerir, buffer, armazenar e processar seu fluxo em tempo real para obter insights 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 do processamento. Os Hubs de Eventos também se integram ao Azure Functions para arquiteturas sem servidor.
Um ecossistema amplo está disponível para o protocolo AMQP 1.0 padrão do setor. Os SDKs estão disponíveis em idiomas como .NET, Java, Python e JavaScript, para que você possa começar a processar seus fluxos nos Hubs de Eventos. Todos as linguagens com suporte do cliente fornecem integração de baixo nível.
O ecossistema também permite que você se integre ao Azure Functions, ao Aplicativos Spring do Azure, aos Conectores do Kafka e a outras plataformas e tecnologias de análise de dados, como Apache Spark e Apache Flink.
Dá suporte ao desenvolvimento local com o emulador de Hubs de Eventos
O emulador de Hubs de Eventos do Azure oferece uma experiência de desenvolvimento local para os Hubs de Eventos. Você pode usar o emulador para desenvolver e testar o código no serviço isoladamente, livre de interferência na nuvem. Para obter mais informações, confira Emulador de Hubs de Eventos
Streaming de eventos flexível e econômico
Você pode experimentar streaming de eventos flexíveis e econômicos por meio das camadas Standard, Premium ou Dedicada para Hubs de Eventos. Essas opções atendem às necessidades de streaming de dados que variam de alguns MB/s a vários GB/s. Você pode escolher a correspondência apropriada para seus requisitos.
Escaloná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.
Dá suporte ao streaming de mensagens grandes
Na maioria dos cenários de streaming, os dados são caracterizados por serem leves, normalmente menores que 1 MB, e ter uma alta taxa de transferência. Há também instâncias 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 escalonáveis de autoatendimento sem custo adicional. Essa funcionalidade permite que os Hubs de Eventos lidem com uma ampla gama de tamanhos de mensagens para garantir operações comerciais ininterruptas. Para obter mais informações, consulte Enviar e receber mensagens grandes com os Hubs de Eventos do Azure.
Capturar 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 Azure Data Lake Storage para retenção de longo prazo ou processamento em microlote. Você pode obter esse comportamento no mesmo fluxo usado para derivar análise em tempo real. A configuração da captura de dados de evento é rápida.
Como ele funciona
Os Hubs de Eventos fornecem uma plataforma de streaming de eventos unificada com um buffer de retenção de tempo, desacoplando produtores de eventos de consumidores de eventos. Os aplicativos de produtor e consumidor podem executar 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 de produtor: esses aplicativos podem ingerir dados em um hub de eventos usando SDKs de Hubs de Eventos ou qualquer cliente produtor do Kafka.
- Namespace: o contêiner de gerenciamento para um ou mais hubs de eventos ou tópicos Kafka. As tarefas de gerenciamento, como alocar capacidade de streaming, configurar a segurança de rede e habilitar a recuperação de desastres geográficos, são tratadas no nível do namespace.
- Tópico hubs de eventos/Kafka: nos Hubs de Eventos, você pode organizar eventos em um hub de eventos ou em um tópico kafka. É um log distribuído somente de acréscimo, que pode incluir uma ou mais partições.
- Partições: elas são usadas para dimensionar um hub de eventos. Eles são como pistas em uma auto-estrada. Se você precisar de mais taxa de transferência de streaming, poderá adicionar mais partições.
- Aplicativos de consumidor: esses aplicativos podem consumir dados buscando por meio do log de eventos e mantendo o deslocamento do consumidor. Os consumidores podem ser clientes consumidores do Kafka ou clientes SDK dos Hubs de Eventos.
- Grupo de consumidores: esse grupo lógico de instâncias de consumidor lê dados de um hub de eventos ou tópico do Kafka. Ele permite que vários aplicativos consumidores leiam os mesmos dados de streaming em um hub de eventos de modo independente em um ritmo próprio e com os respectivos deslocamentos.
Conteúdo relacionado
Para começar a usar os Hubs de Eventos, confira os guias de início rápido a seguir.
Transmitir dados usando o AMQP (SDK dos Hubs de Eventos)
Você pode usar qualquer um dos exemplos a seguir para transmitir dados aos Hubs de Eventos usando SDKs.
- .NET Core
- Java
- Spring
- Python
- JavaScript
- Go
- C (somente enviar)
- Apache Storm (somente 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
Use o registro de esquema dos Hubs de Eventos para fazer a validação de esquema para seus aplicativos de streaming de eventos.