Azure Load Balancer distributiemodi
Azure Load Balancer ondersteunt de volgende distributiemodi voor het routeren van verbindingen met exemplaren in de back-endpool:
Distributiemodus | Op basis van hash | Sessiepersistentie: CLIENT-IP | Sessiepersistentie: CLIENT-IP en protocol |
---|---|---|---|
Overzicht | Verkeer van hetzelfde client-IP-adres dat is gerouteerd naar een goed functionerend exemplaar in de back-endpool | Verkeer van hetzelfde client-IP-adres wordt doorgestuurd naar hetzelfde back-endexemplaren | Verkeer van hetzelfde client-IP-adres en protocol wordt doorgestuurd naar hetzelfde back-endexemplaren |
Tuples | vijf tuples | twee tuples | drie tuples |
Configuratie van Azure Portal | Sessiepersistentie: Geen | Sessiepersistentie: CLIENT-IP | Sessiepersistentie: CLIENT-IP en protocol |
REST API | "loadDistribution":"Default" |
"loadDistribution":SourceIP |
"loadDistribution":SourceIPProtocol |
Er is geen downtime bij het overschakelen van de ene distributiemodus naar een andere op een load balancer.
Op basis van hash
Azure Load Balancer maakt standaard gebruik van een distributiemodus op basis van vijf tuple-hashs.
De vijf tuple bestaat uit:
- Bron-IP
- Bronpoort
- Doel-IP
- Doelpoort
- Protocoltype
De hash wordt gebruikt om verkeer te routeren naar back-endinstanties in de back-endpool. Het algoritme biedt stickiness alleen binnen een transportsessie. Wanneer de client een nieuwe sessie start vanaf hetzelfde bron-IP-adres, wordt de bronpoort gewijzigd en wordt het verkeer naar een ander back-endexemplaren verzonden.
Als u hash-distributie wilt configureren, moet u sessiepersistentie selecteren om Geen te zijn in Azure Portal. Hiermee geeft u op dat opeenvolgende aanvragen van dezelfde client kunnen worden verwerkt door elke virtuele machine.
Sessiepersistentie
Sessiepersistentie is ook bekend sessieaffiniteit, bron-IP-affiniteit of client-IP-affiniteit. In deze distributiemodus wordt een hash met twee tuples (bron-IP en doel-IP) of drie tuples (bron-IP, doel-IP en protocoltype) gebruikt om naar back-endexemplaren te routeren. Wanneer u sessiepersistentie gebruikt, gaan verbindingen van dezelfde client naar hetzelfde back-endexemplaren in de back-endpool.
De sessie-persistentiemodus heeft twee configuratietypen:
- Client-IP (2-tuple): geeft aan dat opeenvolgende aanvragen van hetzelfde client-IP-adres worden verwerkt door hetzelfde back-endexemplaren.
- Client-IP en protocol (3-tuple): geeft aan dat opeenvolgende aanvragen van hetzelfde client-IP-adres en dezelfde combinatie van protocollen worden verwerkt door hetzelfde back-endexemplaren.
In de volgende afbeelding ziet u een configuratie met twee tuples. U ziet hoe de twee tuples via de load balancer worden uitgevoerd naar virtuele machine 1 (VM1). VM1 wordt ondersteund door VM2 en VM3.
Gebruiksgevallen
Bron-IP-affiniteit met client-IP en protocol (bron-IP-affiniteit met drie tuples), lost een incompatibiliteit op tussen Azure Load Balancer en Extern bureaublad-gateway (RD Gateway).
Een ander use-casescenario is het uploaden van media. Het uploaden van gegevens vindt plaats via UDP, maar het besturingsvlak wordt bereikt via TCP:
- Een client start een TCP-sessie naar het openbare adres met gelijke taakverdeling en wordt omgeleid naar een specifiek DIP. Het kanaal blijft actief om de verbindingsstatus te bewaken.
- Er wordt een nieuwe UDP-sessie van dezelfde clientcomputer gestart met hetzelfde openbare eindpunt met gelijke taakverdeling. De verbinding wordt omgeleid naar hetzelfde DIP-eindpunt als de vorige TCP-verbinding. Het uploaden van media kan worden uitgevoerd met een hoge doorvoer terwijl een besturingskanaal via TCP wordt onderhouden.
Notitie
Wanneer leden van de back-endpool van Load Balancer worden gewijzigd door een virtuele machine te verwijderen of toe te voegen, wordt de distributie van clientaanvragen opnieuw berekend. U kunt niet afhankelijk zijn van nieuwe verbindingen van bestaande clients om op dezelfde server te eindigen. Daarnaast kan het gebruik van de distributiemodus voor bron-IP-affiniteit een ongelijke verdeling van het verkeer veroorzaken. Clients die achter proxy's worden uitgevoerd, kunnen worden gezien als één unieke clienttoepassing.