Escolha entre Azure Event Grid, Event Hubs e Service Bus

O Azure oferece vários serviços para entregar eventos e mensagens ao longo de uma solução. Cada serviço direciona-se a cenários diferentes, desde o encaminhamento reativo de eventos a streaming de alto débito e mensagens transacionais de nível empresarial.

Este artigo compara os seguintes serviços:

Escolha um serviço candidato

Esta secção ajuda-o a selecionar os serviços mais prováveis para as suas necessidades.

Use a tabela seguinte para rapidamente restringir qual o serviço que se adequa ao seu cenário:

Criterion Event Grid Hubs de Eventos Barramento de Serviço
Objetivo principal Encaminhamento reativo de eventos Streaming e ingestão de big data Mensagens transacionais para empresas
Modelo de dados Eventos (notificações discretas) Fluxos de eventos (séries ordenadas no tempo) Mensagens (cargas úteis de alto valor)
Garantia de entrega Pelo menos uma vez Pelo menos uma vez Pelo menos uma vez (opcionalmente ordenado, exatamente uma vez com sessões)
Quando utilizar Reaja a alterações de estado, arquiteturas sem servidor Telemetria, streaming distribuído de dados, análise em tempo real Processamento de encomendas, transações financeiras, fluxos de trabalho

O resultado desta secção é um ponto de partida para consideração. Use as secções seguintes para realizar uma avaliação detalhada dos serviços.

Eventos vs. mensagens em serviços de mensagens do Azure

Há uma distinção importante entre os serviços do Azure que entregam um evento e os serviços que transmitem uma mensagem.

Evento: Uma notificação leve de uma condição ou mudança de estado. A editora não tem expectativas sobre como o evento será gerido. Os eventos podem ser discretos (reportando uma alteração de estado que é acionável) ou parte de uma série ordenada no tempo (reportando uma condição que pode ser analisada). Os eventos discretos são ideais para soluções sem servidor que têm de ser dimensionadas.

Mensagem: Dados brutos produzidos por um serviço para serem consumidos ou armazenados noutro local. A mensagem contém os dados que acionaram o pipeline de mensagens. Existe um contrato entre o editor e o consumidor. Por exemplo, o editor envia uma mensagem com dados brutos e espera que o consumidor crie um ficheiro a partir desses dados e envie uma resposta quando o trabalho estiver concluído.

Escalabilidade e throughput

A tabela seguinte compara como o Azure Event Grid, Hubs de Eventos do Azure e Azure Service Bus gerem a escalabilidade e o throughput.

Criterion Event Grid Hubs de Eventos Barramento de Serviço
Throughput Dinamicamente escalável, sem servidor Milhões de eventos por segundo Entrega assíncrona fiável
Modelo de latência Entrega de eventos quase em tempo real Streaming de baixa latência Mediado com consulta longa opcional
Modelo de escalonamento Automático (sem servidor) Unidades de capacidade de processamento / unidades de processamento Unidades de mensagens (Premium)

Funcionalidades de mensagens

A tabela seguinte compara as funcionalidades de mensagens do Azure Event Grid, Hubs de Eventos do Azure e Azure Service Bus.

Criterion Event Grid Hubs de Eventos Barramento de Serviço
Protocol MQTT, HTTP AMQP, Kafka, HTTP AMQP, HTTP
Pub/Sub Sim (publicação-subscrição) Sim (grupos de consumidores) Sim (tópicos e subscrições)
Pedido Sem garantias Por partição FIFO (sessões)
Transações Não Não Yes
Detecção de duplicados Não Não Yes
Dead-lettering Yes Não Yes
Processamento em Lote Yes Sim (lotes de eventos) Sim (sessões)
Captura / repetição Não Sim (Captura nos Centros de Eventos) Não

Integração e implementação

A tabela seguinte compara as opções de integração e implementação para Azure Event Grid, Hubs de Eventos do Azure e Azure Service Bus.

Criterion Event Grid Hubs de Eventos Barramento de Serviço
Integração de serviços Azure Integração profunda com serviços Azure e serviços de terceiros Infraestruturas de processamento de fluxos e serviços de análise Aplicações empresariais, cloud híbrida, conectividade on-premises
Edições Azure Event Grid (PaaS), Event Grid no Kubernetes com Azure Arc Standard, Premium, Dedicado Básico, Standard e Premium

Utilize o Event Grid, o Event Hubs e o Service Bus em conjunto

Em alguns casos, pode utilizar os serviços lado a lado para dar resposta a funções distintas. Por exemplo, um site de comércio eletrónico pode usar o Service Bus para processar encomendas, os Event Hubs para captar a telemetria do local e o Event Grid para responder a eventos como o envio de um artigo.

Noutros casos, pode ligá-los para formar um pipeline de dados e eventos. O Event Grid é utilizado para responder aos eventos dos outros serviços. Para obter um exemplo de como usar a Grade de Eventos com Hubs de Eventos para migrar dados para o Azure Synapse Analytics, consulte Transmitir big data para o Azure Synapse Analytics. A imagem abaixo mostra o fluxo de trabalho para a transmissão em fluxo contínuo dos dados.

Diagrama mostrando como os Hubs de Eventos, o Barramento de Serviço e a Grade de Eventos podem ser conectados.