Editar

Azure Kubernetes no processamento do fluxo de eventos

Azure Kubernetes Service (AKS)
Azure IoT Hub
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ção de preços, informe-nos ao fornecer feedback do GitHub.

Este artigo descreve uma variação de uma arquitetura baseada em eventos sem servidor que é executada no Azure Kubernetes Service (AKS) com o dimensionador KEDA. A solução ingere um fluxo de dados, processa os dados e, em seguida, escreve os resultados numa base de dados de back-end.

Arquitetura

Diagrama de arquitetura que mostra o fluxo de dados descrito neste artigo.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de dados

  1. O AKS com o dimensionador KEDA é utilizado para dimensionar automaticamente Funções do Azure contentores com base no número de eventos que precisam de 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 processar o evento. Este passo filtra eventos indesejados e elimina os lotes dos eventos recebidos antes de submeter para o Hub de Eventos de Saída.
  4. Se a Função Desem lotes e Filtragem do Azure não conseguir armazenar o evento com êxito, o evento será submetido para o Hub de Eventos Deadletter 1.
  5. Os eventos que chegam ao Hub de Eventos de Saída acionam a Função Transformar o Azure. Esta Função do Azure transforma o evento numa mensagem para a instância do Azure Cosmos DB.
  6. O evento é armazenado numa base de dados do Azure Cosmos DB.

Componentes

  • Azure Kubernetes Service (AKS) simplifica a implementação de um cluster do Kubernetes gerido no Azure ao descarregar a sobrecarga operacional para o Azure. Enquanto serviço kubernetes alojado, o Azure processa tarefas críticas, como monitorização e manutenção do estado de funcionamento.
  • O KEDA é um dimensionador automático condicionado por eventos utilizado para dimensionar contentores no cluster do Kubernetes com base no número de eventos que precisam de ser processados.
  • 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 orientado por eventos, em que uma peça de código (uma função) é invocada por um acionador.
  • O Azure Cosmos DB é um serviço de base de dados de vários modelos que está disponível num modo sem servidor e baseado no consumo. Para este cenário, a função de processamento de eventos armazena registos JSON com o Azure Cosmos DB para NoSQL.

Nota

Para cenários de Internet da Coisa (IoT), recomendamos Hub IoT do Azure. Hub IoT tem um ponto final incorporado compatível com a API de Hubs de Eventos do Azure, pelo que pode utilizar qualquer um dos serviços nesta arquitetura sem alterações importantes no processamento de back-end. Para obter mais informações, veja Ligar Dispositivos IoT ao Azure: Hub IoT e Hubs de Eventos.

Detalhes do cenário

Este artigo descreve uma arquitetura baseada em eventos sem servidor que é executada no AKS com o dimensionador KEDA. A solução ingere um fluxo de dados, processa os dados e, em seguida, escreve os resultados numa base de dados de back-end.

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

Caso de utilização potencial

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 desemparsamento implementada com funções altamente dimensionáveis e acionadas pelo hub de eventos.

Contribuidores

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

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