Balanceamento de carga do Cloud Service Mesh
O Cloud Service Mesh usa proxies sidecar ou gRPC sem proxy para entregar carga global de carga para os microsserviços internos. É possível implantar microsserviços internos (baseados em proxy sidecar ou gRPC sem proxy) com instâncias em várias regiões. O Cloud Service Mesh fornece informações de integridade, roteamento e back-end para proxies sidecar ou gRPC sem proxy, permitindo que eles realizem o tráfego ideal roteamento para instâncias de aplicativos em várias regiões de nuvem para um serviço.
No diagrama a seguir, o tráfego do usuário entra em uma implantação do Google Cloud por meio de um balanceador de carga global externo. O balanceador de carga externo
distribui o tráfego para o microsserviço Front End em us-central1
ou
asia-southeast1
, dependendo do local do usuário final.
A implantação interna apresenta três microsserviços globais: "Front End", "Shopping
Cart" e "Payments". Cada serviço é executado em grupos de instâncias gerenciadas (MIGs) em duas regiões,
us-central1
e asia-southeast1
. O Cloud Service Mesh usa uma camada
de balanceamento de carga que direciona o tráfego do usuário na Califórnia para o
microsserviços implantados em us-central1
. As solicitações do usuário em Singapura são direcionadas para os microsserviços em asia-southeast1
.
Uma solicitação de entrada do usuário é encaminhada para o microsserviço "Frontend". O proxy de serviço instalado no host com "Frontend" direciona o tráfego para "Shopping Cart". O proxy sidecar instalado no host com o carrinho de compras direciona o tráfego para o microsserviço do Payments. Em um ambiente gRPC sem proxy, o aplicativo gRPC processa o gerenciamento de tráfego.
No exemplo a seguir, se o Cloud Service Mesh receber resultados da verificação de integridade
que indicam que as instâncias de máquina virtual (VM) que executam o carrinho de compras
microsserviço em us-central1
não estiverem íntegros, o Cloud Service Mesh instruirá
proxy secundário para os microsserviços de front-end fazerem o failover do tráfego para a rede do Shopping
Microsserviço do carrinho em execução em asia-southeast1
. Como o escalonamento automático é
integrado ao gerenciamento de tráfego no Google Cloud, o Cloud Service Mesh
notifica o MIG em asia-southeast1
sobre o tráfego adicional, e o MIG
aumenta de tamanho.
O Cloud Service Mesh detecta que todos os back-ends do microsserviço Payments
íntegro, então o Cloud Service Mesh instrui o proxy do Envoy no carrinho de compras a
enviar uma parte do tráfego até a configuração
para asia-southeast1
e estourar o restante para us-central1
.
Componentes de balanceamento de carga no Cloud Service Mesh
Durante a configuração do Cloud Service Mesh, você configura várias regras componentes:
- O serviço de back-end, que contém valores de configuração.
- Uma verificação de integridade que fornece verificação de integridade para as VMs e os pods do Google Kubernetes Engine (GKE) na sua implantação.
- Com as APIs de roteamento de serviço, um recurso
Mesh
ouGateway
e um recursoRoute
. - Com as APIs de balanceamento de carga, uma regra de encaminhamento global, que inclui o endereço VIP, um proxy de destino e um mapa de URL.
Um proxy sidecar,
compatível com a API xDS, como o Envoy, é executado em uma instância de VM do cliente ou em um pod do
Kubernetes. O Cloud Service Mesh serve como controle
e usa APIs xDS para se comunicar diretamente com cada proxy. No plano
de dados, o aplicativo envia tráfego para o endereço VIP configurado na
regra de encaminhamento ou no recurso Mesh
. O proxy sidecar ou o aplicativo gRPC
intercepta o tráfego e o redireciona
para o back-end apropriado.
O diagrama a seguir mostra um aplicativo em execução em VMs do Compute Engine ou pods do GKE, os componentes e o fluxo de tráfego em um Implantação do Cloud Service Mesh. Ele mostra o Cloud Service Mesh e a Recursos do Cloud Load Balancing usados para determinar o roteamento de tráfego. O diagrama mostra as APIs de balanceamento de carga mais antigas.
A seguir
- Para saber mais sobre a configuração de recursos avançados de balanceamento de carga, consulte Visão geral do balanceamento de carga avançado.
- Para saber mais sobre a descoberta de serviço e a interceptação de tráfego, consulte Descoberta de serviços do Cloud Service Mesh.
- Para saber mais sobre o Cloud Service Mesh com o roteamento de serviço APIs, consulte a visão geral.