Escolher os Hubs de Eventos do Azure

Concluído

Há alguns aplicativos que produzem um grande número de eventos de praticamente uma diversidade de fontes. Costumamos ouvir o termo "Big Data" aplicado a essas situações e elas exigem uma infraestrutura exclusiva para lidar com eles.

Imagine que você trabalhe para a Contoso Aircraft Engines. Os motores fabricados por seu empregador têm centenas de sensores. Antes de uma aeronave decolar todas as manhãs, seus motores são conectados a um agente de teste e colocados em marcha. Além disso, os dados em trânsito armazenados em cache são transmitidos quando a aeronave está conectada ao equipamento de terra.

Você deseja usar dados históricos de sensor para encontrar padrões nas leituras de sensor que indicam uma probabilidade de falha do motor em breve. Você deseja que as leituras de sensor em tempo real sejam comparadas com esses padrões de falha. Em seguida, você poderá avisar os usuários quase em tempo real se um mecanismo estiver apresentando leituras preocupantes.

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

Os Hubs de Eventos são um intermediário do padrão de comunicação de publicação/assinatura. No entanto, ao contrário da Grade de Eventos, eles são otimizados para uma taxa de transferência extremamente alta, um grande número de publicadores, segurança e resiliência.

Enquanto a Grade de Eventos se encaixa perfeitamente no padrão de publicação/assinatura, em que simplesmente gerencia as assinaturas e encaminha as comunicações a esses assinantes, os Hubs de Eventos executam alguns serviços adicionais. Esses serviços adicionais fazem com que ele se pareça mais com uma fila de mensagem ou um barramento de serviço do que com um simples difusor de eventos.

Partições

À medida que o Hub de Eventos recebe as comunicações, ele as divide em partições. As partições são buffers nos quais as comunicações são salvas. Devido aos buffers de evento, os eventos não são efêmeros e um evento não é perdido só porque um assinante está ocupado ou, até mesmo, offline. O assinante sempre pode usar o buffer para "ficar por dentro". Por padrão, os eventos permanecem no buffer por 24 horas antes da expiração automática. Os buffers são chamados de partições porque os dados são divididos entre eles. Cada partição tem um conjunto separado de assinantes.

Captura

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

Autenticação

Todos os publicadores são autenticados e recebem um token. Isso significa que os Hubs de Eventos podem aceitar eventos de aplicativos móveis e dispositivos externos sem se preocupar com os dados fraudulentos que possam prejudicar sua análise.

Usando os Hubs de Eventos

Os Hubs de Eventos têm suporte para o pipelining de fluxos de eventos para outros serviços do Azure. O uso dele com o Azure Stream Analytics, por exemplo, proporciona uma análise complexa dos dados quase em tempo real com a capacidade de correlacionar vários eventos e procurar padrões. Nesse caso, o Stream Analytics é considerado um assinante.

Para nossos motores de aeronave, configuraremos nossa arquitetura para que os Hubs de Eventos autentiquem as comunicações de nossos motores. Em seguida, eles deverão usar a captura para salvar todos os dados no Data Lake. Posteriormente, poderemos usar todos esses dados para treinar novamente e aprimorar nossos modelos de machine learning. Por fim, os assinantes do Stream Analytics captam nossos fluxos de eventos. O Stream Analytics usa nosso modelo de machine learning para procurar padrões nos dados de sensor que possam indicar problemas.

Como há várias partições e cada motor envia todos os dados para apenas uma partição, cada instância do assinante do Stream Analytics só precisa lidar com um subconjunto dos dados gerais. Ele não precisa filtrar e correlacionar todos eles.

Qual serviço devo escolher?

Assim como a opção de fila, a escolha de um desses serviços de entrega de eventos pode parecer complicada a princípio. Ambos dão suporte à semântica pelo menos uma vez.

Escolha os Hubs de Eventos se:

  • Você precisa dar suporte à autenticação de um grande número de publicadores.
  • Você precisa salvar um fluxo de eventos no Data Lake ou no Armazenamento de Blobs.
  • Você precisa de agregação ou análise em seu fluxo de eventos.
  • Você precisa de sistema de mensagens ou resiliência confiável.

Caso contrário, se você precisar de uma infraestrutura simples de publicação/assinatura de evento com publicadores confiáveis (por exemplo, seu servidor Web), escolha a Grade de Eventos.

Os Hubs de Eventos permitem criar um pipeline de Big Data com capacidade de processar milhões de eventos por segundo com baixa latência. Eles podem lidar com os dados de fontes simultâneas e encaminhá-los a uma série de serviços de análise e infraestruturas de processamento de fluxo. Eles permitem o processamento em tempo real e dão suporte à reprodução repetida de dados brutos armazenados.