O diagrama de arquitetura mostra a implantação de serviços do OCI, incluindo nós de trabalho do Kubernetes e os fluxos de dados associados, para implementar esse playbook. Ele contém uma região OCI e usuários de internet externos.

A região OCI compreende uma rede virtual na nuvem (VCN) que abrange três domínios de falha e estes serviços de rede OCI: Ele também contém um gateway de API e instâncias do OKE, Funções do OCI e Fila do OCI. O acesso à VCN é controlado por um gateway de internet e de serviço.

A VCN dentro da região contém uma sub-rede privada, que contém em si um cluster do OKE. Essa sub-rede também abrange os três domínios de falha. O cluster do OKE na sub-rede também abrange os domínios de falha e se estende além da sub-rede para conter a instância do OKE mencionada anteriormente. No OKE, dois domínios de falha contêm nós de trabalho.

Fora da região, o componente de internet contém um listener de mensagens e grupos de usuários de internet.

O fluxo de dados neste diagrama é descrito por números no diagrama anterior e representa esta sequência de eventos:
  1. O produtor hospedado localmente coloca mensagens na Fila do OCI.
  2. Nossa(s) instância(s) do Consumidor do OCI recupera(m) mensagens da fila. No código, a taxa de consumo é restringida usando um atraso. Isso garante que o provedor esteja gerando mais mensagens do que um único consumidor pode remover da fila. Como resultado, os mecanismos de dimensionamento funcionarão.
  3. Periodicamente, um job programado do Kubernetes suportará o KEDA para chamar a API publicada e obter o número de mensagens na fila.
  4. O Gateway de API direciona a solicitação para uma instância da Função do OCI.
  5. A Função do OCI interroga a Fila do OCI.
  6. A resposta é retornada, o que resultará no KEDA acionando um aumento ou diminuição das instâncias do microsserviço.
Além disso, essa implementação também permite que o usuário, a qualquer momento, interrogue o estado da profundidade da Fila com o rótulo a.