Recursos do Traffic Director

O Traffic Director ajuda você a executar microsserviços em uma malha de serviço global. A malha lida com a rede dos microsserviços para que você possa escrever um código de aplicativo que não precise conhecer as complexidades de rede subjacentes. Essa separação da lógica do aplicativo da lógica de rede permite melhorar a velocidade de desenvolvimento, aumentar a disponibilidade do serviço e introduzir práticas modernas de DevOps na sua organização.

Sua malha de serviço consiste nos aplicativos, um plano de dados compatível com xDS v2 (geralmente o proxy Envoy de código aberto) e o Traffic Director como plano de controle de malha.

Este documento resume os recursos disponíveis no Traffic Director.

Plano de controle totalmente gerenciado para a malha de serviço

O Traffic Director é um serviço de plano de controle altamente disponível e gerenciado que é executado no Google Cloud. Não é necessário instalar ou atualizar seu plano de controle. Portanto, você tem um componente a menos para gerenciar na infraestrutura de malha de serviço.

Plataformas para executar serviços de malha

É possível executar aplicativos nas plataformas a seguir e adotar uma em uma malha de serviço global configurada pelo Traffic Director.

Recurso Compatível
Compute Engine: máquinas virtuais (VMs)
Instâncias de contêiner do Google Kubernetes Engine
Kubernetes em instâncias de contêiner do Compute Engine

Gerenciamento de serviços

Os serviços em uma malha configurada pelo Traffic Director se beneficiam da descoberta de serviços, do escalonamento automático de back-end e do registro automático de endpoints:

  • Quando um aplicativo em sua malha quiser alcançar outro aplicativo, ele poderá chamar esse serviço pelo nome. Isso é conhecido como descoberta de serviços.

  • Esses serviços são apoiados por instâncias que executam o código do aplicativo. Elas são escalonadas dinamicamente ou específicas com base nas suas necessidades.

  • instances medida que novas instâncias são criadas ou removidas, elas precisam ser associadas ao serviço. Isso é chamado de registro de endpoints.

Recurso Suporte
Implantação automatizada de proxies secundários para VMs do Compute Engine
Descoberta de serviço com base no nome do host
Escalonamento automático de instâncias com base na utilização da CPU
Escalonamento automático de instâncias com base na capacidade de carregamento/tráfego de tráfego (somente VMs do Compute Engine em MIGs)
recuperação automática de instâncias com base em verificações de integridade configuráveis
Registro automático de endpoints para instâncias de VM do Compute Engine
Registro automático de endpoint para instâncias/pods de contêiner do GKE
API para adicionar ou remover endpoints via programação

Endpoints para o tráfego do plano de dados

Os microsserviços usam o plano de dados para acessar serviços na sua malha e fora dela. O Traffic Director permite separar a lógica do aplicativo da lógica de rede. Dessa forma, tudo o que o aplicativo precisa fazer é enviar solicitações ao plano de dados, como o proxy secundário executado ao lado do aplicativo. O plano de dados cuida do envio de solicitações para o endpoint correto.

Na tabela abaixo, os aplicativos descritos como na malha são os que se comunicam com outros serviços usando o plano de dados gerenciado pelo Traffic Director. Esses aplicativos podem enviar tráfego para serviços em malha, bem como serviços fora da malha.

Recurso Compatível
Aplicativos baseados em VM na malha
Aplicativos baseados em contêiner na malha
Aplicativos baseados em VM fora da malha
Aplicativos baseados em contêiner fora da malha

Topologias do plano de dados

No modelo de malha de serviço, os aplicativos se comunicam usando um plano de dados. Esse plano de dados geralmente consiste em proxies secundários implantados junto com seus aplicativos. O Traffic Director é altamente flexível e é compatível com topologias de plano de dados que atendem às necessidades de rede do seu serviço.

Recurso Compatível
Proxies sidecar em execução com aplicativos
Serviços gRPC sem proxy
Proxies intermediários entre dois aplicativos em uma malha
Proxies de borda no limite da malha
Mesa abrangendo vários clusters do GKE e/ou VMs do Compute Engine em várias regiões

Configuração orientada por API via programação

Toda a configuração é exposta por meio da API REST e do painel prontos para uso, permitindo automatizar alterações em grandes equipes e gerenciar alterações via programação.

Recurso Compatível
APIs REST
Console do Google Cloud
Interface de linha de comando gcloud
Deployment Manager
Compatibilidade com o Terraform (em inglês)

Protocolos de solicitação

Os aplicativos podem usar os protocolos de solicitação a seguir quando se comunicam usando o plano de dados configurado pelo Traffic Director.

Recurso Compatível
HTTP
HTTP/2
gRPC

Gerenciamento de tráfego e roteamento

O Traffic Director é compatível com políticas avançadas de gerenciamento de tráfego que podem ser usadas para orientar, dividir e moldar o tráfego conforme ele passa pelo plano de dados. Observe que o gerenciamento de tráfego mais avançado não está ativado para o Traffic Director com serviços do gRPC sem proxy.

Recurso Compatível com proxy Envoy Compatível com gRPC sem proxy
O roteamento de solicitação HTTP/Layer 7 com base na correspondência de sufixo/prefixo/completo/regex em:
• Nome do host ✔ 1.30.0 ou posterior
• Caminho ✔ 1.31.0 ou posterior
Cabeçalhos ✔ 1.31.0 ou posterior
Método N/A
Cookies ✔ 1.31.0 ou posterior
parâmetros de solicitação N/A
Injeção de falha
Tempo limite configurável
Novas tentativas
Redirecionamentos N/A
URI reescreve
Transformações do cabeçalho de solicitação/resposta
Divisão de tráfego
Espelhamento do tráfego
Detecção de outlier

Balanceamento de carga

É possível configurar métodos e algoritmos avançados de balanceamento de carga para balanceamento de carga no serviço, grupo de back-end (grupos de instâncias ou grupos de endpoints de rede) e níveis individuais de back-end ou endpoint. Para mais informações, consulte Visão geral dos serviços de back-end.

Recurso Compatível com proxy Envoy Compatível com gRPC sem proxy
Seleção de serviço por divisões de tráfego com base no peso
Seleção de back-end (grupo de instâncias ou grupo de endpoints de rede) com base na região (de preferência a região mais próxima com capacidade de back-end íntegra) ✔ 1.30.0 ou posterior
Seleção de back-end usando o modo de balanceamento baseado em taxa (solicitações por segundo) ✔ 1.30.0 ou posterior
Seleção de back-end com base no modo de balanceamento baseado em utilização (somente VMs em grupos de instâncias do Compute Engine) ✔ 1.30.0 ou posterior
Capacidade máxima configurável por back-end (somente no Compute Engine e no GKE) ✔ 1.30.0 ou posterior
Disjuntores
Seleção de back-end com base em políticas de balanceamento de carga configuráveis*:
  • Ordem aleatória
  • Solicitação mínima
  • Hash do aro
  • Aleatória
  • Destino original
  • Maglev
Somente round robin

*Consulte localityLbPolicy para saber mais detalhes.

Failover

As cargas de trabalho empresariais geralmente dependem de implantações de alta disponibilidade para garantir o tempo de atividade do serviço. O Traffic Director é compatível com esses tipos de implantação ativando a redundância de várias zonas/regiões.

Recurso Compatível
Failover automático para outra zona na mesma região que tem capacidade de back-end íntegra
Failover automático para a região mais próxima com capacidade de back-end íntegra

Verificações de integridade

Verificação de integridade centralizada para determinar a integridade do back-end. Para informações de referência, consulte Visão geral de verificações de integridade.

Recurso Suporte
Verificações de integridade do gRPC
Verificações de integridade de HTTP
Verificações de integridade de HTTPS
Verificações de integridade de HTTP/2
Verificações de integridade de TCP
Verificações de integridade configuráveis:
  • Porta
  • Intervalos de verificação
  • Tempo limite
  • Limites íntegros e não íntegros
Caminho de solicitação configurável (HTTP, HTTPS, HTTP/2)
String ou caminho de solicitação configurável (TCP ou SSL)
String de resposta esperada configurável

Observabilidade

As ferramentas de observabilidade fornecem informações de monitoramento, depuração e desempenho para ajudar você a entender a malha de serviço. Os recursos a seguir são fornecidos imediatamente ou configurados no plano de dados. O código do aplicativo não precisa fazer nada especial para gerar esses dados de observabilidade.

O painel de integridade do serviço está disponível com serviços gRPC sem proxy, mas não é possível configurar a geração de registros e o rastreamento do plano de dados. O Traffic Director não pode configurar a geração de registros e o rastreamento de um aplicativo do gRPC. Para ativá-lo, siga as instruções das seções de solução de problemas ou dos guias do gRPC disponíveis em sites de código aberto. Por exemplo, é possível usar o Opencensus para ativar a coleta de métricas e o rastreamento nos serviços gRPC sem proxy.

Recurso Compatível com proxies Compatível com serviços gRPC sem proxy
Painel de integridade do serviço
Geração de registros do plano de dados
Rastreamento de plano de dados

Afinidade da sessão

As comunicações entre clientes e servidores geralmente envolvem várias solicitações sucessivas. Nesse caso, é útil encaminhar solicitações sucessivas do cliente para o mesmo back-end ou servidor. O Traffic Director oferece opções configuráveis para enviar solicitações de um cliente específico, da melhor maneira possível, para o mesmo back-end, desde que ele esteja íntegro e tenha capacidade. Para mais informações, consulte Visão geral dos serviços de back-end.

Recurso Compatível com proxies Compatível com serviços gRPC sem proxy
Endereço IP do cliente.
Cookie HTTP
Cabeçalho HTTP
Cookie gerado (define o cookie do cliente na primeira solicitação)

Topologias de rede

O Traffic Director é compatível com topologias de rede comuns do Google Cloud.

Recurso Compatível
Rede única em um projeto do Google Cloud
VPC compartilhada (rede única compartilhada em vários projetos do Google Cloud)

Consulte Limitações para uma explicação detalhada de como a VPC compartilhada é compatível com o Traffic Director.

Compliance

O Traffic Director está em conformidade com os padrões a seguir.

Certificação de conformidade
HIPAA
ISO 27001, ISO 27017, ISO 27018
SOC1, SOC2 e SOC3
PCI DSS