Editar

Partilhar via


Azure Kubernetes no processamento de fluxo de eventos

Azure Kubernetes Service (AKS)
Azure IoT Hub
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 variação de uma arquitetura orientada a eventos sem servidor que é executada no Serviço Kubernetes do Azure (AKS) com o escalonador KEDA. A solução ingere um fluxo de dados, processa os dados e, em seguida, grava os resultados em um banco de dados back-end.

Arquitetura

Diagrama de arquitetura mostrando o fluxo de dados descrito neste artigo.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de dados

  1. O AKS com o escalador KEDA é usado para dimensionar automaticamente os contêineres do Azure Functions com base no número de eventos que precisam ser processados.
  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 enviar 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.

Componentes

  • O Serviço Kubernetes do Azure (AKS) simplifica a implantação de um cluster Kubernetes gerenciado no Azure descarregando a sobrecarga operacional para o Azure. Como um serviço Kubernetes hospedado, o Azure lida com tarefas críticas, como monitoramento e manutenção de integridade.
  • O KEDA é um autoscaler controlado por eventos usado para dimensionar contêineres no cluster do Kubernetes com base no número de eventos que precisam ser processados.
  • 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.

Nota

Para cenários de Internet das Coisas (IoT), recomendamos o Hub IoT do Azure. O Hub IoT tem um ponto de extremidade interno compatível com a API de Hubs de Eventos do Azure, portanto, você pode usar qualquer um dos serviços nessa arquitetura sem grandes alterações no processamento de back-end. Para obter mais informações, consulte Conectando dispositivos IoT ao Azure: Hub IoT e Hubs de Eventos.

Detalhes do cenário

Este artigo descreve uma arquitetura orientada a eventos sem servidor que é executada no AKS com o KEDA scaler. A solução ingere um fluxo de dados, processa os dados e, em seguida, grava os resultados em um banco de dados back-end.

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.

Caso de uso potencial

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 uma lógica de desempacotamento e transformação implementada com funções altamente escaláveis acionadas por hub 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 cenário de link privado no processamento de fluxo de eventos é uma ideia de solução para implementar uma arquitetura semelhante em uma rede virtual com pontos de extremidade privados, a fim de aumentar a segurança.