Editar

Partilhar via


Processamento de fluxo de eventos sem servidor em uma rede virtual com pontos de extremidade privados

Azure Private Link
Azure Event Hubs
Azure Functions
Azure Cosmos DB

Ideias de soluções

Este artigo descreve uma ideia de solução. Seu arquiteto de nuvem pode usar essa orientação para ajudar a visualizar os principais componentes para uma implementação típica dessa arquitetura. Use este artigo como ponto de partida para projetar uma solução bem arquitetada que se alinhe com os requisitos específicos da sua carga de trabalho.

Este artigo descreve uma arquitetura orientada a eventos sem servidor em uma rede virtual que ingere e processa um fluxo de dados e, em seguida, grava os resultados em um banco de dados.

Arquitetura

Diagrama mostrando dados fluindo para uma VNet e, em seguida, sendo processados pela arquitetura descrita neste artigo.

Fluxo de dados

  1. A integração de VNet é usada para colocar todos os recursos do Azure atrás dos Pontos de Extremidade Privados do Azure.
  2. Os eventos chegam ao Hub de Eventos de Entrada.
  3. A Função do Azure de Eliminação de Lotes e Filtragem é acionada para manipular o evento. Esta etapa filtra eventos indesejados e desagrupa os eventos recebidos antes de enviá-los para o Hub de Eventos de Saída.
  4. Se a Função do Azure De-batching and Filtering não conseguir armazenar o evento com êxito, o evento será enviado para o Deadletter Event Hub 1.
  5. Os eventos que chegam ao Hub de Eventos de Saída acionam a Função Transformando o Azure. Esta Função do Azure transforma o evento numa mensagem para a instância do Azure Cosmos DB.
  6. O evento é armazenado em um banco de dados do Azure Cosmos DB.
  7. Se a Função Transformando o Azure não conseguir armazenar o evento com êxito, o evento será salvo no Hub de Eventos Deadletter 2.

Nota

Para simplificar, as sub-redes não são mostradas no diagrama.

Componentes

  • O Ponto Final Privado do Azure é uma interface de rede que o liga em privado e com segurança a um serviço com a tecnologia do Azure Private Link. O Ponto Final Privado utiliza um endereço IP privado na VNet e leva de forma eficaz o serviço até à VNet.
  • Os Hubs de Eventos ingerem o fluxo de dados. Os Hubs de Eventos foram projetados para cenários de streaming de dados de alta taxa de transferência.
  • O Azure Functions é uma opção de computação sem servidor. Ele usa um modelo controlado por eventos, onde uma parte do código (uma função) é invocada por um gatilho.
  • O Azure Cosmos DB é um serviço de banco de dados multimodelo que está disponível em um modo sem servidor e baseado no consumo. Para esse cenário, a função de processamento de eventos armazena registros JSON, usando o Azure Cosmos DB para NoSQL.

Detalhes do cenário

Essa ideia de solução mostra uma variação de uma arquitetura orientada a eventos sem servidor que ingere um fluxo de dados, processa os dados e grava os resultados em um banco de dados back-end. Neste exemplo, a solução é hospedada dentro de uma rede virtual com todos os recursos do Azure por trás de pontos de extremidade privados.

Para saber mais sobre os conceitos básicos, considerações e abordagens para 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 uso popular para implementar um padrão de processamento de fluxo de eventos de ponta a ponta inclui o serviço de ingestão de streaming de Hubs de Eventos para receber e processar eventos por segundo usando a lógica de desempacotamento e transformação implementada com funções altamente escaláveis acionadas por Hubs de Eventos.

Contribuidores

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

Autor principal:

  • Rajasa Savant - Brasil | Engenheiro de Desenvolvimento de Software Sênior

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

Próximos passos

  • O processamento de eventos sem servidor é uma arquitetura de referência que detalha uma arquitetura típica desse tipo, com exemplos de código e discussão de considerações importantes.
  • O Kubernetes do Azure no processamento de fluxo de eventos descreve uma variação de uma arquitetura orientada a eventos sem servidor em execução no Kubernetes do Azure com escalador KEDA.