Balanceamento de carga do Traffic Director

O Traffic Director usa proxies sidecar ou gRPC sem proxy para fornecer balanceamento de carga global 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 Traffic Director fornece informações de integridade, roteamento e back-end aos proxies sidecar ou gRPC sem proxy, permitindo que eles executem o roteamento de tráfego ideal 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 Traffic Director usa um algoritmo de balanceamento de carga global que direciona o tráfego do usuário na Califórnia para os 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.

Traffic Director em uma implantação de balanceamento de carga global
Traffic Director em uma implantação de balanceamento de carga global (clique para ampliar)

No exemplo a seguir, se os resultados da verificação de integridade indicarem que as instâncias de máquina virtual (VM) que executam o microsserviço de carrinho de compras em us-central1 não estão íntegras, o Traffic Director instrui o proxy secundário. para que os microsserviços de front-end falhem sobre o tráfego para o microsserviço de carrinho de compras em execução em asia-southeast1. Como o escalonamento automático é integrado ao gerenciamento de tráfego no Google Cloud, o Traffic Director notifica o MIG em asia-southeast1 do tráfego extra, e o MIG aumenta de tamanho.

O Traffic Director detecta que todos os back-ends do microsserviço de pagamentos estão íntegros e instrui o proxy do Envoy para que o carrinho de compras envie uma parte do tráfego, até a capacidade configurada do cliente, para asia-southeast1 e estoure o restante para us-central1.

Failover com o Traffic Director em uma implantação de balanceamento de carga global
Failover com o Traffic Director em uma implantação de balanceamento de carga global (clique para ampliar)

Componentes do balanceamento de carga no Traffic Director

Durante a configuração do Traffic Director, você configura vários componentes de balanceamento de carga:

  • 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 ou Gateway e um recurso Route.
  • 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 Traffic Director é exibido como um plano de 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 uma implantação do Traffic Director. Ele mostra o Traffic Director e os recursos do Cloud Load Balancing usados para determinar o roteamento de tráfego. O diagrama mostra as APIs de balanceamento de carga mais antigas.

Recursos do Traffic Director a serem configurados.
Recursos do Traffic Director a serem configurados (clique para ampliar)

A seguir