Escolha uma tecnologia de ingestão de mensagens em tempo real em Azure

O processamento em tempo real lida com fluxos de dados que são capturados em tempo real e processados com a latência mínima. Muitas soluções de processamento em tempo real precisam de uma loja de ingestão de mensagens para funcionar como um tampão para mensagens, e para suportar o processamento de escala, entrega fiável e outras semânticas de fila de mensagens.

Quais são as suas opções para ingestão de mensagens em tempo real?

Azure Event Hubs

Hubs de Eventos do Azure é uma plataforma de streaming de dados altamente escalável e serviço de ingestão de eventos, capaz de receber e processar milhões de eventos por segundo. Os Hubs de Eventos podem processar e armazenar eventos, dados ou telemetria produzidos por dispositivos e software distribuído. Os dados enviados para um hub de eventos podem ser transformados e armazenados em qualquer fornecedor de análise em tempo real ou adaptadores de armazenamento/criação de batches. O Event Hubs fornece capacidades de subscrição de publicação com baixa latência em larga escala, o que o torna apropriado para cenários de big data.

Hub IoT do Azure

Hub IoT do Azure é um serviço gerido que permite comunicações bidirecionais fiáveis e seguras entre milhões de dispositivos IoT e uma parte traseira baseada na nuvem.

As características de Hub IoT incluem:

  • Múltiplas opções para comunicação dispositivo-nuvem e nuvem-para-dispositivo. Estas opções incluem mensagens unidirecionais, transferência de ficheiros e métodos de pedido-resposta.
  • Encaminhamento de mensagens para outros serviços da Azure.
  • Loja consultada para metadados do dispositivo e informações de estado sincronizadas.
  • Segurança de comunicações e controlo de acesso utilizando chaves de segurança por dispositivo ou certificados X.509.
  • Monitorização de eventos de conectividade do dispositivo e gestão de identidade de dispositivos.

Em termos de ingestão de mensagens, Hub IoT é semelhante ao Event Hubs. No entanto, foi especificamente concebido para gerir a conectividade do dispositivo IoT, e não apenas para a ingestão de mensagens. Para mais informações, consulte Comparação de Hub IoT do Azure e Hubs de Eventos do Azure.

Kafka no HDInsight

Apache Kafka é uma plataforma de streaming distribuída de código aberto que pode ser usada para construir oleodutos de dados em tempo real e aplicações de streaming. O Kafka também fornece a funcionalidade de mediador de mensagem semelhante a uma fila de mensagens, onde pode publicar e subscrever fluxos de dados nomeados. É horizontalmente escalável, tolerante a falhas e extremamente rápido. Kafka on HDInsight fornece um Kafka como um serviço gerido, altamente escalável e altamente disponível em Azure.

Alguns casos de uso comum para Kafka são:

  • As mensagens. Como suporta o padrão de mensagem de publicação- subscrição, Kafka é frequentemente usado como corretor de mensagens.
  • Rastreio de atividade. Uma vez que a Kafka fornece registos in-order de registos, pode ser usado para rastrear e recriar atividades, como ações de utilizador num site.
  • Agregação. Utilizando o processamento de fluxo, pode agregar informações de diferentes fluxos para combinar e centralizar a informação em dados operacionais.
  • A transformação. Utilizando o processamento de fluxo, pode combinar e enriquecer dados de vários tópicos de entrada em um ou mais tópicos de saída.

Critérios-chave de seleção

Para reduzir as escolhas, comece por responder a estas perguntas:

  • Precisa de comunicação bidirecional entre os seus dispositivos IoT e Azure? Em caso afirmativo, escolha Hub IoT.

  • Precisa de gerir o acesso a dispositivos individuais e de poder revogar o acesso a um dispositivo específico? Se sim, escolha Hub IoT.

Matriz de capacidade

As tabelas seguintes resumem as principais diferenças de capacidades.

Funcionalidade IoT Hub Hubs de Eventos Kafka no HDInsight
Comunicações nuvem-para-dispositivo Yes No No
Upload de ficheiro iniciado pelo dispositivo Yes No No
Informações do estado do dispositivo Gémeos do dispositivo No No
Suporte de protocolo MQTT, AMQP, HTTPS 1 AMQP, HTTPS, Protocolo kafka Protocolo de Kafka
Segurança Identidade por dispositivo; controlo de acesso revogável. Políticas de acesso partilhado; revogação limitada através de políticas de editores. Autenticação utilizando SASL; Autorização pluggable; integração com serviços de autenticação externa apoiados.

[1] Você também pode usar o gateway de protocolo Azure IoT como uma porta de entrada personalizada para permitir a adaptação de protocolo para Hub IoT.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuintes.

Autor principal:

Passos seguintes

Para mais informações, consulte Comparação de Hub IoT do Azure e Hubs de Eventos do Azure.