Équilibrage de charge Traffic Director

Traffic Director utilise des proxys side-car ou gRPC sans proxy pour fournir un équilibrage de charge global pour vos microservices internes. Vous pouvez déployer des microservices internes (basés sur un proxy side-car ou gRPC sans proxy) avec des instances situées dans plusieurs régions. Traffic Director fournit des informations d'état, de routage et de backend aux proxys side-car ou gRPC sans proxy, ce qui leur permet d'effectuer un routage optimal du trafic d'un service vers les instances d'application dans plusieurs régions cloud.

Dans le schéma suivant, le trafic utilisateur entre dans un déploiement Google Cloud via un équilibreur de charge global externe. L'équilibreur de charge externe distribue le trafic vers le microservice Front End dans us-central1 ou asia-southeast1, en fonction de l'emplacement de l'utilisateur final.

Le déploiement interne comprend trois microservices mondiaux : Front End, Shopping Cart et Payments. Chaque service s'exécute sur des groupes d'instances gérés (MIG) dans deux régions, us-central1 et asia-southeast1. Traffic Director utilise un algorithme global d'équilibrage de charge qui dirige le trafic de l'utilisateur californien vers les microservices déployés dans us-central1. Les requêtes de l'utilisateur à Singapour sont dirigées vers les microservices de asia-southeast1.

La requête entrante d'un utilisateur est acheminée vers le microservice Front End. Le proxy de service installé sur l'hôte avec Front End dirige ensuite le trafic vers le microservice Shopping Cart. Le proxy de service installé sur l'hôte avec Shopping Cart achemine le trafic vers le microservice Payments. Dans un environnement gRPC sans proxy, votre application gRPC gère le trafic.

Traffic Director dans un déploiement mondial d'équilibrage de charge.
Traffic Director dans un déploiement d'équilibrage de charge global (cliquez pour agrandir)

Dans l'exemple suivant, si Traffic Director reçoit les résultats de la vérification de l'état'état indiquant que les instances de machine virtuelle (VM) exécutant le microservice Shopping Cart dans us-central1 ne sont pas opérationnelles, Traffic Director demande au proxy side-car des microservices Front End de basculer le trafic vers le microservice Shopping Cart exécuté dans asia-southeast1. Étant donné que l'autoscaling est intégré à la gestion du trafic dans Google Cloud, Traffic Director notifie le MIG dans asia-southeast1 du trafic supplémentaire, qui augmente sa taille.

Traffic Director détecte que tous les backends du microservice Payments sont opérationnels. Il charge donc le proxy Envoy du microservice Shopping Cart d'envoyer une partie du trafic, jusqu'à la capacité configurée du client, à la région asia-southeast1 et d'envoyer le reste à la région us-central1.

Basculement avec Traffic Director dans un déploiement global d'équilibrage de charge.
Basculement avec Traffic Director dans un déploiement global d'équilibrage de charge (cliquez pour agrandir)

Composants de l'équilibrage de charge dans Traffic Director

Lors de la configuration de Traffic Director, vous configurez plusieurs composants d'équilibrage de charge :

  • Le service de backend, qui contient les valeurs de configuration.
  • Une vérification de l'état, qui fournit une vérification de l'état pour les VM et les pods Google Kubernetes Engine (GKE) dans votre déploiement.
  • Avec les API de routage de service, une ressource Mesh ou Gateway et une ressource Route.
  • Avec les API d'équilibrage de charge, vous disposez d'une règle de transfert globale, qui inclut l'adresse IP virtuelle, un proxy cible et un mappage d'URL.

Un proxy side-car compatible avec l'API xDS (par exemple, Envoy) s'exécute sur une instance de VM cliente ou dans un pod Kubernetes. Traffic Director sert de plan de contrôle et utilise les API xDS pour communiquer directement avec chaque proxy. Dans le plan de données, l'application envoie du trafic à l'adresse IP virtuelle configurée dans la règle de transfert ou la ressource Mesh. Le proxy side-car ou votre application gRPC intercepte le trafic et le redirige vers le backend approprié.

Le schéma suivant illustre une application exécutée sur des VM Compute Engine ou des pods GKE, les composants et le flux de trafic dans un déploiement de Traffic Director. Elle affiche Traffic Director et les ressources Cloud Load Balancing utilisées pour déterminer le routage du trafic. Le schéma présente les anciennes API d'équilibrage de charge.

Ressources Traffic Director à configurer.
Ressources Traffic Director à configurer (cliquez pour agrandir)

Étapes suivantes