Problem, Frage

Auch Verteilung von Anforderungen zwischen den Ausführungen Einige Ausführungen verarbeiten mehr Anforderungen als andere.

Auflösung, Antwort

Die Absendung einer Anforderung wird anhand der Statistiken bestimmt, die der Sender über die Ansprechbarkeit der Ausführungen aufbewahrt. Der Sender führt über jede Ausführung und jede Kategorie Buch über die akkumulierte Zeit für die Verarbeitung.
 
Vereinfachend können wir das an folgendem Szenario veranschaulichen:
  • Der Sender erhält eine Anfrage.
  • Der Umschalter versucht, die Anfrage mit den anderen konfigurierten Glob-Mustern aus der Statistik-Sektion der Konfigurations-Datei abzugleichen, er entscheidet beispielsweise, dass die Anfrage der Kategorie HTML entspricht.
  • Der Umschalter überprüft in den Statistiken bei jeder Ausführung, wie lange die Ausführung bereits Anfragen der Kategorie HTML verarbeitet.
  • Der Dispatcher leitet die Anforderung mit der niedrigeren gesamten Bearbeitungszeit für HTML an das Rendern weiter.
  • Wenn die Antwort zurückgegeben wird, fügt der Dispatcher die Reaktionszeiten zu der Statistik hinzu, die für diese Kategorie beibehalten werden.

Dies ist die vereinfachte Prozedur, vorausgesetzt, dass keine Sitzungspräferenz vorhanden ist, sind alle Render immer verfügbar und alle Anforderungen werden erfolgreich verarbeitet. Wenn ein Render ausfällt oder eine Anforderung nicht erfolgreich verarbeiten kann, fügt der Dispatcher dem Statistiken dieser Render eine Strafe hinzu. Die Details des tatsächlichen Algorithmus sind komplexer.


 Fazit: Der Lastenausgleich wird nicht basierend auf der Anzahl der Anfragen ausgeführt werden, die vom jeweiligen Server unternommen werden, sondern auf der Zeit, die benötigt wurde, um sie für die Kategorie zu verarbeiten, zu denen sie gehören.

Siehe auch die offizielle Dispatcher-Dokumentation, um den Lastenausgleich zu konfigurieren:http://dev.day.com/docs/en/cq/current/deploying/dispatcher/disp_config.html#Configuring Load Balancing

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie