Editar

Anular o lote e filtrar o processamento de eventos sem servidor com os Hubs de Eventos

Azure Event Hubs
Azure Functions
Azure Cosmos DB

Ideias de solução

Este artigo é uma ideia de solução. Se quiser que expandamos o conteúdo com mais informações, como potenciais casos de utilização, serviços alternativos, considerações de implementação ou orientações de preços, informe-nos ao fornecer feedback do GitHub.

Este artigo descreve uma arquitetura condicionada por eventos sem servidor que utiliza Hubs de Eventos do Azure e Funções do Azure para ingerir e filtrar um fluxo de dados para o armazenamento de bases de dados.

Arquitetura

Diagrama a mostrar o fluxo de dados e os principais pontos de processamento na arquitetura descrita neste artigo

Fluxo de dados

  1. Os eventos chegam ao Hub de Eventos de Entrada.
  2. A Função do Azure de Eliminação de Lotes e Filtragem é acionada para processar o evento. Este passo filtra eventos indesejados e elimina os lotes dos eventos recebidos antes de os submeter para o Hub de Eventos de Saída.
  3. Se a Função do Azure de Eliminação de Lotes e Filtragem não conseguir armazenar o evento com êxito, o evento será submetido para o Hub de Eventos Deadletter 1.
  4. Os eventos que chegam ao Hub de Eventos de Saída acionam a Transformação da Função do Azure. Esta Função do Azure transforma o evento numa mensagem para a instância do Azure Cosmos DB.
  5. O evento é armazenado numa base de dados do Azure Cosmos DB.
  6. Se a Função transformar o Azure não conseguir armazenar o evento com êxito, o evento será guardado no Hub de Eventos Deadletter 2.

Componentes

  • Os Hubs de Eventos ingerem o fluxo de dados. Os Hubs de Eventos foram concebidos para cenários de transmissão em fluxo de dados de alto débito.
  • Funções do Azure é uma opção de computação sem servidor. Utiliza um modelo baseado em eventos, em que um fragmento de código (uma função) é invocado por um acionador.
  • O Azure Cosmos DB é um serviço de base de dados com vários modelos que está disponível num modo sem servidor e baseado no consumo. Neste cenário, a função de processamento de eventos armazena registos JSON com o Azure Cosmos DB para NoSQL.

Detalhes do cenário

Esta ideia de solução descreve uma variação de uma arquitetura baseada em eventos sem servidor que utiliza Os Hubs de Eventos e Funções do Azure para ingerir e processar um fluxo de dados. Os resultados são escritos numa base de dados para armazenamento e revisão futura depois de serem desempastados e filtrados.

Para saber mais sobre os conceitos básicos, considerações e abordagens para o processamento de eventos sem servidor, consulte a arquitetura de referência de processamento de eventos sem servidor.

Potenciais casos de utilização

Um caso de utilização popular para implementar um padrão de processamento de fluxo de eventos ponto a ponto inclui o serviço de ingestão de transmissão em fluxo dos Hubs de Eventos para receber e processar eventos por segundo através de uma lógica de transformação e de eliminação de lotes implementada com funções altamente dimensionáveis e acionadas pelo hub de eventos.

Contribuidores

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

Autor principal:

  • Rajasa Savant | Engenheiro Sénior de Desenvolvimento de Software

Para ver perfis do LinkedIn não públicos, inicie sessão no LinkedIn.

Passos seguintes