Balanceamento de carga do Traffic Director

O Traffic Director oferece balanceamento de carga global para seus microsserviços internos com proxies sidecar. É possível implantar microsserviços internos (baseados em proxy sidecar) com instâncias em várias regiões. O Traffic Director fornece informações de integridade, roteamento e back-end aos proxies sidecar, 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.

Na ilustração 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 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. Já 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.

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

No exemplo a seguir, se o Traffic Director receber resultados de verificação de integridade indicando que as VMs que executam o microsserviço do carrinho de compras em us-central1 não são íntegras, o Traffic Director instruirá o proxy sidecar dos microsserviços do front-end a executar failover no tráfego do microsserviço de carrinho de compras executado em asia-southeast1. Como o escalonamento automático é integrado ao gerenciamento de tráfego no Google Cloud, o Traffic Director notifica o grupo de instâncias gerenciadas em asia-southeast1 sobre o novo tráfego, e o grupo de instâncias gerenciadas 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 (clique para ampliar)
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:

  • Uma regra de encaminhamento global, que inclui o endereço VIP, o proxy de destino e o mapa de URL. Todos eles fazem parte do mecanismo de roteamento de tráfego do Traffic Director. O proxy de destino precisa ser um proxy HTTP de destino.
  • O serviço de back-end, que contém valores de configuração.
  • Uma verificação de integridade que fornece uma verificação de integridade das VMs e pods na implantação.

O diagrama a seguir mostra um aplicativo em execução nas VMs do Compute Engine ou nos pods do Google Kubernetes Engine, os componentes e o fluxo de tráfego em uma implantação do Traffic Director:

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

O diagrama mostra o Traffic Director e os recursos de balanceamento de carga do Google Cloud que ele usa para determinar o roteamento de tráfego. Um proxy secundário compatível com a API xDS, como o Envoy, conforme mostrado, é executado em uma instância de VM do cliente ou em um pod do Kubernetes. O Traffic Director serve como plano de controle e se comunica diretamente com cada proxy usando APIs xDS. No plano de dados, o aplicativo envia o tráfego para o endereço VIP configurado na regra de encaminhamento do Google Cloud. O tráfego é interceptado pelo proxy secundário e redirecionado para o back-end apropriado. Para mais informações sobre a descoberta de serviços e a interceptação de tráfego, consulte Descoberta de serviços do Traffic Director.