Algoritmo de Azure Load Balancer

Azure Load Balancer es el equilibrador de carga de mejor rendimiento de Azure y mantiene una latencia muy baja. Para más información acerca de Azure Load Balancer, consulte Información general sobre Azure Load Balancer o los componentes de Azure Load Balancer.

Azure Load Balancer utiliza un hash basado en tuplas como algoritmo de equilibrio de carga.

Algoritmo de equilibrio de carga

Al crear una regla de equilibrador de carga, puede distribuir los flujos de tráfico entrantes desde el front-end de un equilibrador de carga a sus grupos de back-end. Azure Load Balancer usa un algoritmo hash de tupla de cinco elementos para la distribución de los flujos (no bytes) entrantes. El equilibrador de carga reescribe los encabezados de los flujos de encabezados TCP/UDP al dirigir el tráfico a las instancias del grupo de back-end (el equilibrador de carga no reescribe los encabezados HTTP/HTTPS). Cuando el sondeo de estado del equilibrador de carga indica un punto de conexión de back-end correcto, las instancias de back-end están disponibles para recibir nuevos flujos de tráfico.

De forma predeterminada, Azure Load Balancer utiliza un hash de cinco tuplas.

Las cinco tuplas son:

  • Dirección IP de origen
  • Puerto de origen
  • Dirección IP de destino
  • Puerto de destino
  • Número de protocolo IP para asignar flujos a servidores disponibles

También puede aprovechar el modo de distribución de afinidad de sesión que usa el equilibrio de carga basado en dos tuplas o tres tuplas.

Azure Load Balancer admite cualquier escenario de aplicación de TCP/UDP y no cierra ni origina flujos. El equilibrador de carga tampoco interactúa con la carga de ningún flujo. Las cargas útiles de las aplicaciones son transparentes para Load Balancer. Se puede admitir cualquier aplicación UDP o TCP.

El equilibrador de carga funciona en la capa 4 y no proporciona la funcionalidad de puerta de enlace del nivel de aplicación. Los protocolos de enlace siempre se producen directamente entre el cliente y la instancia de pool backend. Como el equilibrador de carga no interactúa con la carga de TCP y proporciona descarga de TLS, puede compilar escenarios cifrados completos. Con Load Balancer se obtiene una mayor escalabilidad horizontal de las aplicaciones TLS, ya que la conexión TLS finaliza en la propia máquina virtual. Por ejemplo, la capacidad para claves de sesión TLS solo está limitada por el tipo y número de máquinas virtuales que se agregan al grupo de servidores back-end.

Una respuesta a un flujo de entrada siempre es una respuesta de una máquina virtual. Cuando llega el flujo a la máquina virtual, también se conserva la dirección IP de origen original. A cada punto de conexión le responde una máquina virtual. Por ejemplo, un protocolo de enlace TCP se realiza entre el cliente y la máquina virtual de back-end seleccionada. Una respuesta a una solicitud a un front-end es una respuesta generada por una máquina virtual de back-end. Cuando valida con éxito la conectividad a un frontend, está validando la conectividad a lo largo de al menos una máquina virtual backend.

Pasos siguientes