Partager via


Algorithme Azure Load Balancer

Azure Load Balancer est l’équilibreur de charge le plus performant d’Azure, le tout en conservant une latence très faible. Pour en savoir plus sur Azure Load Balancer, consultez Vue d’ensemble d’ ou Composants d’Azure Load Balancer.

Azure Load Balancer utilise un hachage basé sur les tuples comme algorithme d’équilibrage de charge.

Algorithme d’équilibrage de charge

En créant une règle d’équilibrage de la charge, vous pouvez distribuer des flux de trafic entrant à partir du serveur frontal d’un équilibreur de charge vers ses pools principaux. Azure Load Balancer utilise un algorithme de hachage à cinq tuples pour la distribution des flux entrants (pas d’octets). L’équilibreur de charge réécrit les en-têtes des flux d’en-têtes TCP/UDP en dirigeant le trafic vers les instances du pool principal (l’équilibreur de charge ne réécrit pas les en-têtes HTTP/HTTPS). Quand la sonde d’intégrité de l’équilibreur de charge indique un point de terminaison de back-end sain, les instances de back-end sont disponibles pour recevoir de nouveaux flux de trafic.

Par défaut, Azure Load Balancer utilise un hachage à cinq tuples.

Les cinq tuples comprennent :

  • Une adresse IP source
  • Port source
  • Une adresse IP de destination
  • Port de destination
  • Un numéro de protocole IP pour mapper des flux sur les serveurs disponibles

Vous pouvez aussi tirer parti du mode de distribution de l’affinité de session qui utilise l’équilibrage de charge basé sur deux ou trois tuples.

Azure Load Balancer prend en charge tous les scénarios d’application TCP/UDP, et ne ferme pas et n’est pas à l’origine de flux. L’équilibreur de charge n’interagit pas non plus avec la charge utile d’un flux. Les charges utiles d’application sont transparentes pour l’équilibreur de charge. Toutes les applications UDP ou TCP peuvent être prises en charge.

L’équilibreur de charge fonctionne sur la couche 4 et n’offre pas de fonctionnalité de passerelle de couche application. Les négociations de protocole se produisent toujours directement entre le client et l’instance du pool de back-ends. Étant donné que l’équilibreur de charge n’interagit pas avec la charge utile TCP et ne fournit pas le déchargement TLS, vous pouvez générer des scénarios chiffrés complets. L’utilisation de l’équilibreur de charge permet d’obtenir de vastes systèmes de scale-out pour les applications TLS en mettant fin à la connexion TLS sur la machine virtuelle. Par exemple, la capacité de création de clés pour votre session TLS est uniquement limitée par le type et le nombre de machines virtuelles que vous ajoutez au pool du serveur principal.

La réponse à un flux entrant provient toujours d’une machine virtuelle. Lorsque le flux arrive sur la machine virtuelle, l’adresse IP source d’origine est également conservée. Chaque point de terminaison obtient une réponse d’une machine virtuelle. Par exemple, l’établissement d’une liaison TCP se fait entre le client et la machine virtuelle de back-end sélectionnée. Une réponse à une demande de front-end est une réponse générée par la machine virtuelle de back-end. Quand vous validez la connectivité à un front-end, vous validez la connectivité jusqu’à au moins une machine virtuelle de back-end.

Étapes suivantes