Escolher Hubs de Eventos do Azure

Concluído

Há determinadas aplicações que produzem um grande número de eventos a partir de um número semelhante de origens. Ouvimos, recorrentemente, o termo "Macrodados" aplicado a estas situações, que exigem uma infraestrutura exclusiva para processamento.

Imagine que trabalha para a Contoso Aircraft Engines. Os motores que o seu empregador fabrica têm centenas de sensores. Para que uma aeronave possa voar todas as manhãs, primeiro, os respetivos motores são ligados a um conjunto de teste e postos à prova. Além disso, os dados de voo em cache são transmitidos quando a aeronave está ligada aos equipamentos de terra.

Pretende utilizar o histórico dos dados do sensor para detetar padrões na leituras do sensor que indiquem a possibilidade eminente de falhas do motor. Pretende que as leituras do sensor em tempo real sejam comparadas com estes padrões de falha. Em seguida, pode avisar os utilizadores em tempo real, caso um motor apresente leituras preocupantes.

O que são os Hubs de Eventos do Azure?

Os Hubs de Eventos são um intermediário para o padrão de comunicação publicar-subscrever. Ao contrário do Event Grid, no entanto, ele é otimizado para uma taxa de transferência extremamente alta, um grande número de editores, segurança e resiliência.

Enquanto a Grade de Eventos se encaixa perfeitamente no padrão de publicação-assinatura, na medida em que simplesmente gerencia assinaturas e encaminha comunicações para esses assinantes, os Hubs de Eventos executam alguns serviços extras. Esses serviços extras fazem com que pareça mais um barramento de serviço ou fila de mensagens do que uma simples emissora de eventos.

Partições

À medida que os Hubs de Eventos recebem comunicações, vão dividi-las em partições. As partições são memórias intermédias nas quais são guardadas as comunicações. Devido aos buffers de eventos, os eventos não são efêmeros e um evento não é perdido apenas porque um assinante está ocupado ou mesmo offline. O assinante sempre pode usar o buffer para "recuperar o atraso". Por padrão, os eventos permanecem no buffer por 24 horas antes de expirarem automaticamente. As memórias intermédias são denominadas partições porque os dados estão divididos entre elas. Cada partição tem um conjunto separado de assinantes.

Capture

Os Hubs de Eventos podem enviar todos os seus eventos imediatamente para o Azure Data Lake ou o armazenamento de Blobs do Azure para uma persistência permanente de baixo custo.

Autenticação

Todos os editores são autenticados e é-lhes emitido um token. Isso significa que os Hubs de Eventos podem aceitar eventos de dispositivos externos e aplicativos móveis sem se preocupar que dados fraudulentos de brincantes possam arruinar sua análise.

Utilizar Hubs de Eventos

Os Hubs de Eventos têm suporte para pipelining da transmissão de eventos para outros serviços do Azure. A sua utilização com o Azure Stream Analytics, por exemplo, permite uma análise complexa dos dados em tempo real, com a capacidade de correlacionar múltiplos eventos e procurar padrões. Neste caso, o Stream Analytics seria considerado um subscritor.

Para os nossos motores das aeronaves, iremos definir a nossa arquitetura para que os Hubs de Eventos autentiquem as comunicações dos nossos motores. Em seguida, usaremos a captura para salvar todos os dados no Data Lake. Mais tarde, podemos usar todos esses dados para treinar novamente e melhorar nossos modelos de aprendizado de máquina. Por fim, os assinantes do Stream Analytics recebem nossos fluxos de eventos. O Stream Analytics usa nosso modelo de aprendizado de máquina para procurar padrões nos dados do sensor que possam indicar problemas.

Uma vez que temos várias partições e que cada motor envia todos os seus dados para apenas uma partição, cada instância do nosso subscritor do Stream Analytics só precisa de lidar com um subconjunto dos nossos dados gerais. Ele não precisa filtrar e correlacionar tudo isso.

Que serviço devo escolher?

Assim como a nossa opção de fila, selecionar entre estes dois serviços de entrega de eventos pode parecer confuso a princípio. Ambos suportam a semântica Pelo Menos Uma Vez.

Escolha os Hubs de Eventos se:

  • Precisar de autenticar um grande número de publicadores.
  • Precisar de guardar uma transmissão de eventos no Data Lake ou no armazenamento de Blobs.
  • Precisar de agregação ou análise na sua transmissão de eventos.
  • Precisar de mensagens fiáveis ou resiliência.

Caso contrário, se você precisar de uma infraestrutura simples de publicação-assinatura de eventos com editores confiáveis (por exemplo, seu próprio servidor Web), escolha Grade de Eventos.

Os Hubs de Eventos permitem-lhe criar um pipeline de grandes volumes de dados capaz de processar milhões de eventos por segundo com baixa latência. Ele pode lidar com dados de fontes simultâneas e encaminhá-los para várias infraestruturas de processamento de fluxo e serviços de análise. Permitem o processamento em tempo real e suportam a repetição sucessiva de dados não processados armazenados.