Replikat-Cache-Topologie
Wenn in einem Cluster alle Serverknoten über dieselbe Datenkopie verfügen, ist die Verfügbarkeit hoch. Das bedeutet, dass der Cluster einige Knotenausfälle ohne Datenverlust überstehen kann. Für diesen Zweck, NCache stellt die replizierte Topologie bereit, um diese Verwendung sicherzustellen
Note
Diese Funktion ist auch in verfügbar NCache Professional.
Replikation synchronisieren
Immer wenn ein Client einen Schreibvorgang ausführt (fügt, Aktuelles, oder entfernt), wird dieser Vorgang im gesamten Cluster übertragen, um diesen Vorgang auf allen Cache-Servern zu replizieren, bevor die Steuerung an den Client zurückgegeben wird. Der Server, der die Vorgänge vom Client empfängt, ist für die Übertragung dieser Vorgänge verantwortlich. Während dieses Vorgangs wird vom Koordinatorserver ein Sequenztoken entnommen und mit dem aktuellen Vorgang verknüpft, um sicherzustellen, dass dieser Vorgang auf allen Servern in derselben Reihenfolge ausgeführt wird, um Datenkonsistenz zu erreichen.
Wenn ein Broadcast-Schreibvorgang auf einem Cache-Server fehlschlägt, wird dieser Fehler auch an alle Cache-Server gesendet, um diese Daten zu entfernen. Dies geschieht, um die Datenkonsistenz im gesamten Cluster zu erreichen. Das heißt, wenn Daten im Cache vorhanden sind, verfügen alle Server über dieselben Daten.
Da die Replikation synchron erfolgt, ist diese Topologie nicht für Schreibvorgänge geeignet, da mehr Server mehr Zeit benötigen, bis die Daten auf allen Cache-Servern repliziert werden, bevor die Steuerung an die Writer-Anwendung zurückgegeben wird. Es wird empfohlen, die Clustergröße auf 3 Server zu begrenzen, wenn Sie keine Leistungseinbußen bei Schreibvorgängen erleben möchten.
Rolle des Koordinatorservers
Der Koordinatorserver (der ranghöchste Serverknoten) führt mehrere Aufgaben wie Statusübertragung, Write-Behind-Operationen, Datenungültigmachungen wie Ablauf und Abhängigkeitenusw. Nach der Entscheidung, Elemente aus dem Cache zu entfernen, werden alle anderen Knoten aufgefordert, diese Elemente ebenfalls aus ihrem Cache-Speicher zu entfernen. Wenn der Koordinatorserver den Cluster verlässt, wird der nächstälteste Server zum Koordinatorserver und nimmt seine Aufgaben wieder auf.
Vollständig skalierbare Lesevorgänge
Da alle Server über die gleichen Daten verfügen und die Clients auf alle Cache-Server verteilt sind. Somit stellt jeder Server den Clients die gleichen Daten zur Verfügung. Je mehr Server im Cluster vorhanden sind, desto mehr Datenleseanforderungen werden gleichzeitig bearbeitet.
Verbindungslastausgleich
Die replizierte Topologie weist eine Besonderheit auf Client-Verbindungen automatisch ausgleichen zwischen den Servern, um die Datenlast auf die Cache-Server aufzuteilen. Wenn sich ein Client mit einem Server verbindet, überprüft dieser Server, dass auch alle anderen Serverknoten über die gleiche Anzahl an Clients verfügen. Wenn andere Server weniger Clients haben, lehnt es die Verbindungsanfrage des Clients ordnungsgemäß ab und leitet sie an die anderen Server weiter. Auf diese Weise haben alle Server die gleiche Anzahl an Clients und kein Server wird im Vergleich zu den anderen Cache-Servern mit mehr Clients überlastet.
Client-Konnektivität
In der replizierten Topologie ist ein Client jeweils nur mit einem Server eines Clusters verbunden. Wenn der verbundene Server ausfällt, stellt der Client ohne menschliches Eingreifen automatisch eine Verbindung mit einem anderen Server des Clusters her.
Staatliche Übertragung
Eine Statusübertragung wird beim Knotenbeitritt und beim Knotenverlassen in der replizierten Topologie ausgelöst. Der Statustransfer, der ausgelöst wird, wenn ein Knoten den Cluster verlässt, bewirkt nicht viel, da alle Knoten über dieselben Daten verfügen. Beim Knotenbeitritt bittet ein neu beigetretener Knoten jedoch den Koordinatorserver, alle zwischengespeicherten Daten bereitzustellen, um sich mit dem Rest des Clusters zu synchronisieren.
Siehe auch
Partitionierte Topologien
Gespiegelte Topologie
Cache-Cluster
Lokaler Cache