Lastausgleich mit Replikaten

Der Lastausgleich mit Replikaten wird gewöhnlich nur verwendet, wenn Clients Daten zwischenspeichern, die sich ständig ändern oder wenn die Clients pessimistisches Sperren verwenden.

eXtreme Scale sendet, sofern nicht anders konfiguriert, alle Lese- und Schreibanforderungen an den primären Server für eine bestimmte Replikationsgruppe. Der primäre Server muss alle Anforderungen von Clients bearbeiten. Sie können konfigurieren, dass Leseanforderungen auch an Replikate des primären Servers gesendet werden. Durch das Senden von Leseanforderungen an die Replikate kann die Last der Leseanforderungen auf mehrere Java Virtual Machines (JVM) verteilt werden. Die Verwendung von Replikaten für Leseanforderungen kann jedoch zu inkonsistenten Antworten führen.

Der Lastausgleich mit Replikaten wird gewöhnlich nur verwendet, wenn Clients Daten zwischenspeichern, die sich ständig ändern oder wenn die Clients pessimistisches Sperren verwenden.

Wenn sich die Daten ständig ändern und anschließend im nahen Cache des Clients ungültig gemacht werden, sollte der primäre Server daraufhin eine relativ hohe Rate von get-Anforderungen von Clients sehen. Im pessimistischen Sperrmodus ist kein lokaler Cache vorhanden, also werden alle Anforderungen an den primären Server gesendet.

Wenn die Daten relativ statisch sind oder der pessimistische Modus nicht verwendet wird, hat das Senden von Leseanforderungen an das Replikat keine erheblichen Auswirkungen auf die Leistung. Die Häufigkeit der get-Anforderungen von Clients mit Caches, die voll von Daten sind, ist nicht sehr hoch.

Wenn ein Client zum ersten Mal gestartet wird, ist sein naher Cache leer. Cacheanforderungen an den leeren Cache werden an den primären Server weitergeleitet. Nach und nach werden Daten in den Clientcache gestellt, so dass die Anforderungslast abnimmt. Wenn sehr viele Clients gleichzeitig gestartet werden, kann die Last erheblich und das Senden von Leseanforderungen an das Replikat eine angemessene Leistungsoption sein.