Mit einem auf Regeln basierenden Lastausgleich kann genau abgestimmt werden, wann und warum Pakete an welche Server gesendet werden. Load Balancer überprüft
alle hinzugefügten Regeln von der ersten Priorität bis zur letzten Priorität, stoppt
bei der ersten Regel, die wahr ist, und verteilt dann den Datenverkehr auf alle Server,
die der Regel zugeordnet sind. Load Balancer verteilt die Last bereits ausgehend von Ziel und Port. Mit der Anwendung von Regeln haben Sie jedoch
erweiterte Möglichkeiten für die Verteilung von Verbindungen.
Informationen zu diesem Vorgang
Für Dispatcher
und Site Selector sollten Sie einen regelbasierten Lastausgleich verwenden, wenn
Sie eine Untermenge Ihrer Server verwenden möchten.
Für die Komponente CBR müssen immer Regeln verwendet werden.
In den meisten Fällen sollten Sie beim Konfigurieren von Regeln eine immer gültige Standardregel
konfigurieren,
um auch Anforderungen zu registrieren, die von den anderen Regeln höherer Priorität nicht
erfasst werden. Diese Standardregel könnte beispielsweise die Antwort "Die Site ist derzeit leider nicht verfügbar, versuchen
Sie es später erneut" sein, wenn alle anderen Server nicht für die Clientanforderung verwendet werden
können.
Jede Regel hat einen Namen, einen Typ und eine Priorität und kann neben einer Servergruppe auch einen Bereichsanfang und ein Bereichsende haben. Regeln werden in der Reihenfolge ihrer Priorität ausgewertet. Eine Regel mit der Priorität 1 (kleinere Nummer)
wird vor einer Regel mit der Priorität 2 (größere Nummer) ausgewertet. Die erste Regel, die erfüllt ist, wird
verwendet. Sobald eine Regel erfüllt ist,
werden keine weiteren Regeln ausgewertet. Eine Regel ist erfüllt, wenn die beiden folgenden Bedingungen
zutreffen:
- Das Prädikat der Regel muss wahr sein. Das heißt, dass der Wert, der
ausgewertet wird, zwischen Bereichsanfang und -ende liegen
muss, oder der Inhalt mit dem regulären Ausdruck übereinstimmen muss, der im Regelmuster angegeben wurde. Für Regeln des Typs
"true" (wahr) stimmt das Prädikat unabhängig vom Bereichsanfang und -ende immer
überein. Sind einer Regel keine Server zugeordnet, muss für die Regel nur
die erste Bedingung zutreffen, um erfüllt zu sein. In diesem löscht Load Balancer
die Verbindungsanforderung.
- Wenn der Regel Server zugeordnet sind, muss mindestens ein Server eine Wertigkeit höher als 0 haben, um Pakete weiterzuleiten,
so dass Server einen Server hat, an den Verbindungen weitergeleitet werden können.
Wenn eine Verbindungsanforderung keine der Regeln erfüllt,
wählt Load Balancer einen Server aus der vollständigen Gruppe der Server aus, die an dem Port verfügbar sind.
Folgende Regeltypen sind zur Auswahl verfügbar:
- Dispatcher
- Summe der aktiven Verbindungen
- Immer wahr
- CBR
- Client-IP-Adresse
- Uhrzeit
- Verbindungen pro Sekunde
- Summe der aktiven Verbindungen
- Immer wahr
- Inhalt einer Anforderung
- Site Selector
- Client-IP-Adresse
- Uhrzeit
- Metrik gesamt
- Metrik Durchschnitt
- Immer wahr
- Konfigurieren Sie eine Regel, die auf der Gesamtanzahl aktiver Verbindungen basiert. Wenn Ihre Server überlastet sind und beginnen, Pakete zu verwerfen, möchten Sie vielleicht Regeln anwenden, die
auf der Gesamtanzahl der an einem Port aktiven Verbindungen basieren. Von bestimmten Web-Servern werden
weiterhin Verbindungen akzeptiert, auch wenn sie nicht über genügend Threads verfügen,
um auf die Anforderung zu antworten. Von dem Client wird daraufhin eine
Zeitlimitüberschreitung angefordert, und der Kunde, der Ihre Website aufruft,
erhält keinen Service. Sie können Regeln verwenden, die auf den aktiven Verbindungen
basieren, um die Kapazität innerhalb eines Pools mit Servern auszugleichen.
Sie wissen beispielsweise aus Erfahrung, dass Ihre
Server den Service einstellen, nachdem sie 250 Verbindungen akzeptiert
haben.
Anmerkung: Der Manager muss aktiv sein, damit die Regeln funktionieren.
Erstellen Sie mit dem Regelbefehl
dscontrol oder cbrcontrol eine Regel.
Sie würden dann der Regel Ihre aktuellen Server plus einige zusätzliche Server
hinzufügen, die andernfalls für eine andere Verarbeitung verwendet werden. Beispiel:
dscontrol rule add 130.40.52.153@80@pool2 type active beginrange 250 endrange 500
- Erstellen Sie eine Regel, die immer wahr ist. Eine solche Regel wird immer ausgewählt,
es sei denn, alle ihr zugeordneten Server sind inaktiv.
Aus diesem Grund sollte die Regel eine niedrigere Priorität als andere Regeln haben.
Sie können sogar mehrere Regeln haben, die immer wahr
sind. Jeder Regel kann eine Gruppe mit Servern zugeordnet
sein. Load Balancer wählt eine Regel basierend auf der ersten Regel aus, die wahr ist und einen verfügbaren Server hat.
Angenommen, Sie haben sechs Server. Zwei dieser Server sollen
unter allen Umständen den Datenaustausch steuern, es sei denn, beide Server sind inaktiv.
Sind die ersten beiden Server inaktiv, soll eine zweite Gruppe mit Servern
den Datenaustausch steuern.
Sind diese vier Server inaktiv, sollen die letzten zwei Server
den Datenaustausch steuern. Sie könnten drei Regeln konfigurieren, die immer wahr sind. In diesem Fall
wird immer die erste Gruppe mit Servern ausgewählt, wenn mindestens ein Server aktiv ist. Sind beide Server
inaktiv, wird ein Server
aus der zweiten Gruppe ausgewählt usw.
Als weiteres Beispiel können Sie mit einer Regel,
die immer wahr ist, sicherstellen, dass eingehende
Clients keinen Service erhalten, wenn sie nicht den festgelegten
Regeln entsprechen. Wenn Sie anschließend keine Server zur Regel hinzufügen, werden die Clientpakete ohne Antwort
gelöscht. Sie können mehrere Regeln definieren,
die immer wahr sind, und dann durch Ändern der
Prioritätsebene festlegen, welche Regel angewendet werden soll.
Erstellen Sie mit dem Befehl "dscontrol rule" eine Regel: dscontrol rule add 130.40.52.153@80@jamais type true priority 100
Beim Erstellen einer immer gültigen Regel müssen Sie keinen Bereichsanfang und kein
Bereichsende festlegen.
- Fügen Sie einem Regelsatz einen oder mehrere Server hinzu. Sie können den Befehl
"dscontrol rule useserver" verwenden, um einem bereits definierten Regelsatz einen oder mehrere Server hinzuzufügen. Beispiel:
dscontrol rule useserver 130.40.52.153@80@jamais Server1
dscontrol rule useserver 130.40.52.153@80@jamais Server1+Server2+Server3
Zusätzliche Konfigurationsregeln, die mit den Komponenten
CBR und Site Selector hinzugefügt werden können