Separater Cache-Host-Prozess
Zuvor war die NCache Der Dienst und alle Cache-Instanzen waren auf einen einzigen Prozess beschränkt. Dies bedeutete, dass bei einem Prozessabsturz der Dienst sowie die Caches und deren Ressourceninformationen (Speicher, Adressen, Ports) verloren gingen.
NCache hat jetzt für mehr Zuverlässigkeit gesorgt, indem dem Dienst ein eigener Prozess und jedem Cache-Host ein eigener Prozess zugewiesen wurde.
Note
Diese Funktion ist auch in verfügbar NCache Professional.
Client-Kommunikation mit dem Cache
Die anfängliche Kommunikation des Clients mit einem Cache-Host ist eine 2-Hop-Kommunikation:
Es interagiert zunächst mit dem Dienst, der den Client mithilfe des Portweiterleitungsmechanismus mit dem Cache-Host verbindet.
Anschließend kommuniziert es über Portweiterleitung mit dem Cache. Alle zukünftigen Interaktionen für den Client erfolgen direkt mit dem Cache.
Wenn ein Cache in einem eigenen separaten Prozess gestartet wird, wird ihm ein Management-Port zugewiesen, über den der Dienst mit ihm kommuniziert. Dieser Port wird dynamisch aus einem Bereich generiert (Standard 8300 – 8400, konfigurierbar in service.exe.config).
Note
Beachten Sie, dass im Falle der Partition-Replica-Topologie zwei Ports zugewiesen werden.
Sobald der Port weitergeleitet wurde, sendet der Client alle Cache-Anfragen an den Cache, z. B. das Hinzufügen von Elementen zum Cache oder das Abrufen oder Entfernen aus dem Cache.
Falls einer der Cache-Hostprozesse stoppt, werden die von diesem Cache für die Kommunikation verwendeten Ports wieder dem Pool verfügbarer Ports hinzugefügt. Wenn beispielsweise ein Partition-Replica-Knoten die Ports 8301 und 8302 verwendet hat und der Prozess beendet wird, werden die Ports für die Verwendung durch jeden anderen Cache verfügbar. Wenn nun ein Prozess für einen neuen Cache startet, kann Port 8301 für diesen Cache wiederverwendet werden.
Sobald ein Port dem Cache zugewiesen wurde, galt er früher als genutzt – unabhängig vom Cache-Status. Dadurch wurde der Hafenbereich unfreiwillig eingeengt.
Serverkommunikation mit dem Cache
Der Server kommuniziert mit dem Cache-Host über den dynamisch generierten Management-Port. Alle Verwaltungsvorgänge werden über diesen Weg geleitet.
Was ist, wenn der Dienst neu gestartet wird?
Im Falle eines Neustarts des Dienstes gehen die Cache-Prozesse nicht verloren, dies ist jedoch erforderlich redisAbdeckung ihrer vorherigen Zustände wird entstehen. Das bedeutet, dass der Dienst sicherstellen muss, welche Caches vor dem Absturz ausgeführt wurden, zusammen mit ihren Anmeldeinformationen wie Prozess-ID, Port usw. Das rediscovery garantiert daher, dass sich die Cache-Prozesse nicht in einem Zombie-Zustand befinden.
Es werden zwei Werkzeuge verwendet redisAbdeckung:
Windows-Verwaltungsinstrumentationsdienst (WMI)
Ein standardisierter Dienst für den Zugriff, die Konsolidierung und den Austausch von Verwaltungsinformationen von Geräten, Anwendungen und Servern in einer Unternehmensumgebung. Sie können entweder das ausführen winmgmt.exe Tool oder das Befehlszeilentool WMIC um Informationen zum Service zu erhalten.
Beispiel:
wmic PROCESS WHERE (Description=”Alachisoft.NCache.Service.exe”)
Sie können mit mehreren anderen Befehlen arbeiten, indem Sie die verwenden Befehlszeilentool für die Windows-Verwaltungsinstrumentation.
Netstat-Tool
Dieses Befehlszeilentool zeigt Netzwerkverbindungen für eingehende und ausgehende TCP-Kommunikation, Routing-Tabellen und Netzwerkprotokollstatistiken an. Du kannst redisVerdecken Sie Ihre verlorenen Informationen über die Caches, indem Sie die aktiven Verbindungen und genutzten Ports anzeigen. Alle Ports innerhalb des Portbereichs von service.exe.config zeigt die Cache-Hosts an, die die Ports verwenden.
Beispiel:
netstat –o
zeigt die lokale Adresse, die Fremdadresse, den Status und die Prozess-ID jeder aktiven Verbindung an.
Weitere Einzelheiten zu diesem Tool erhalten Sie unter Technet-Seite von Microsoft.
Siehe auch
Anmutiger Knoten nach unten
Selbstheilendes dynamisches Clustering
IP-Bindung mit mehreren NICs
Geteiltes Gehirn