Algorytm Azure Load BalancerAzure Load Balancer algorithm

Moduł równoważenia obciążenia oferuje kilka możliwości dla aplikacji UDP i TCP.Load balancer provides several capabilities for both UDP and TCP applications.

Algorytm równoważenia obciążeniaLoad balancing algorithm

Można utworzyć regułę równoważenia obciążenia, aby dystrybuować ruch z frontonu do puli zaplecza.You can create a load-balancing rule to distribute traffic from the frontend to a backend pool. Azure Load Balancer używa algorytmu wyznaczania wartości skrótu do dystrybucji przepływów przychodzących (nie bajtów).Azure Load Balancer uses a hashing algorithm for distribution of inbound flows (not bytes). Moduł równoważenia obciążenia ponownie zapisuje nagłówki przepływów w wystąpieniach puli zaplecza.Load balancer rewrites the headers of flows to backend pool instances. Serwer jest dostępny do odbierania nowych przepływów, gdy sonda kondycji wskazuje dobry punkt końcowy zaplecza.A server is available to receive new flows when a health probe indicates a healthy back-end endpoint.

Domyślnie moduł równoważenia obciążenia używa skrótu z pięcioma kolekcjami.By default, Load balancer uses a Five-tuple hash.

Skrót obejmuje:The hash includes:

  • Źródłowy adres IPSource IP address
  • Port źródłowySource port
  • Docelowy adres IPDestination IP address
  • Port docelowyDestination port
  • Numer protokołu IP do mapowania przepływów na dostępne serweryIP protocol number to map flows to available servers

Koligacja ze źródłowym adresem IP jest tworzona przy użyciu dwóch lub trzech krotek wartości skrótu.Affinity to a source IP address is created by using a two or three-tuple hash. Pakiety tego samego przepływu docierają do tego samego wystąpienia, w którym znajduje się fronton o zrównoważonym obciążeniu.Packets of the same flow arrive on the same instance behind the load-balanced front end.

Port źródłowy zmienia się, gdy klient uruchamia nowy przepływ z tego samego źródłowego adresu IP.The source port changes when a client starts a new flow from the same source IP. W efekcie wartość skrótu z pięcioma krotką może spowodować, że ruch przejdzie do innego punktu końcowego zaplecza.As a result, the five-tuple hash might cause the traffic to go to a different backend endpoint. Aby uzyskać więcej informacji, zobacz Konfigurowanie trybu dystrybucji dla Azure Load Balancer.For more information, see Configure the distribution mode for Azure Load Balancer.

Na poniższej ilustracji przedstawiono dystrybucję opartą na skrótach:The following image displays the hash-based distribution:

Dystrybucja oparta na skrótach

Rysunek: dystrybucja oparta na skrótachFigure: Hash-based distribution

Niezależność i przezroczystość aplikacjiApplication independence and transparency

Moduł równoważenia obciążenia nie współdziała bezpośrednio z protokołem TCP lub UDP ani warstwą aplikacji.Load balancer doesn't directly interact with TCP or UDP or the application layer. Można obsługiwać dowolny scenariusz aplikacji TCP lub UDP.Any TCP or UDP application scenario can be supported. Moduł równoważenia obciążenia nie zamyka lub nie pochodzi z przepływów ani nie współdziała z ładunkiem przepływu.Load balancer doesn't close or originate flows or interact with the payload of the flow. Moduł równoważenia obciążenia nie udostępnia funkcji bramy warstwy aplikacji.Load balancer doesn't provide application layer gateway functionality. Uzgadnianie protokołu zawsze następuje bezpośrednio między klientem a wystąpieniem puli zaplecza.Protocol handshakes always occur directly between the client and the back-end pool instance. Odpowiedź na przepływ przychodzący to zawsze odpowiedź z maszyny wirtualnej.A response to an inbound flow is always a response from a virtual machine. Po dostarczeniu przepływu do maszyny wirtualnej oryginalny źródłowy adres IP również jest zachowywany.When the flow arrives on the virtual machine, the original source IP address is also preserved.

  • Każdy punkt końcowy jest odpowiedzią na maszynę wirtualną.Every endpoint is answered by a VM. Na przykład uzgadnianie protokołu TCP następuje między klientem a wybraną maszyną wirtualną zaplecza.For example, a TCP handshake occurs between the client and the selected back-end VM. Odpowiedź na żądanie do frontonu jest odpowiedzią wygenerowaną przez maszynę wirtualną zaplecza.A response to a request to a front end is a response generated by a back-end VM. Po pomyślnym zweryfikowaniu łączności z frontonem sprawdzasz poprawność łączności w ramach co najmniej jednej maszyny wirtualnej zaplecza.When you successfully validate connectivity to a front end, you're validating the connectivity throughout to at least one back-end virtual machine.
  • Ładunki aplikacji są niewidoczne dla modułu równoważenia obciążenia.Application payloads are transparent to the load balancer. Można obsługiwać dowolną aplikację UDP lub TCP.Any UDP or TCP application can be supported.
  • Ponieważ moduł równoważenia obciążenia nie współdziała z ładunkiem TCP i zapewnia odciążanie protokołu TLS, można tworzyć kompleksowe zaszyfrowane scenariusze.Because the load balancer doesn't interact with the TCP payload and provide TLS offload, you can build comprehensive encrypted scenarios. Korzystanie z usługi równoważenia obciążenia uzyskuje duże skalowanie w poziomie dla aplikacji TLS przez zakończenie połączenia TLS na maszynie wirtualnej.Using load balancer gains large scale-out for TLS applications by ending the TLS connection on the VM itself. Na przykład pojemność klucza sesji protokołu TLS jest ograniczona tylko przez typ i liczbę maszyn wirtualnych dodawanych do puli zaplecza.For example, your TLS session keying capacity is only limited by the type and number of VMs you add to the back-end pool.

Następne krokiNext steps