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
Transfira um ficheiro do Visio desta arquitetura.
Fluxo de dados
- 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.
- Os eventos chegam ao Hub de Eventos de Entrada.
- 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.
- 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.
- 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.
- 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
- Introdução ao Serviço Kubernetes do Azure
- Documentação dos Hubs de Eventos do Azure
- Introdução às Funções do Azure
- Documentação das Funções do Azure
- Descrição geral do Azure Cosmos DB
- Escolher uma API no Azure Cosmos DB
Recursos relacionados
- O processamento de eventos sem servidor é uma arquitetura de referência que detalha uma arquitetura típica deste tipo, com exemplos de código e debate de considerações importantes.
- A monitorização do processamento de eventos sem servidor fornece uma descrição geral e documentação de orientação sobre a monitorização de arquiteturas baseadas em eventos sem servidor como esta.
- A eliminação de lotes e a filtragem no processamento de eventos sem servidor com os Hubs de Eventos descreve mais detalhadamente como estas partes da arquitetura funcionam.
- O cenário de ligação privada no processamento de fluxos de eventos é uma ideia de solução para implementar uma arquitetura semelhante numa rede virtual com pontos finais privados, de modo a melhorar a segurança.