Processus d'hôte de cache séparé
Auparavant, le NCache Le service et toutes les instances de cache étaient confinés dans un seul processus. Cela signifiait que si le processus tombait en panne, le service ainsi que les caches et leurs informations sur les ressources (mémoire, adresses, ports) étaient perdus.
NCache offre désormais plus de fiabilité en consacrant un processus distinct au service et un processus dédié à chaque hôte de cache.
Notes
Cette fonctionnalité est également disponible dans NCache Professional.
Communication client avec le cache
La communication initiale du client avec un hôte de cache est une communication à 2 sauts :
Il interagit d'abord avec le service, qui connecte le client à l'hôte de cache à l'aide du mécanisme de redirection de port.
Il communique ensuite avec le cache via la redirection de port. Toutes les interactions futures pour le client se font directement avec le cache.
Lorsqu'un cache est démarré dans son propre processus distinct, un port de gestion lui est attribué sur lequel le service communiquera avec lui. Ce port est généré dynamiquement à partir d'une plage (par défaut 8300 – 8400, configurable dans service.exe.config).
Notes
Notez que dans le cas de la topologie Partition-Replica, deux ports seront attribués.
Une fois le port transféré, le client enverra toutes les demandes de cache au cache, comme l'ajout d'éléments au cache, ou leur récupération ou suppression du cache.
Si l'un des processus hôtes du cache s'arrête, les ports utilisés par ce cache pour la communication sont rajoutés au pool de ports disponibles. Par exemple, si un nœud Partition-Replica utilisait les ports 8301 et 8302 et que le processus se termine, les ports deviendront disponibles pour être utilisés par n'importe quel autre cache. Désormais, lorsqu'un processus démarre pour un nouveau cache, le port 8301 peut être réutilisé pour ce cache.
Auparavant, une fois qu'un port était attribué au cache, il était considéré comme utilisé, quel que soit l'état du cache. Cela signifiait que la portée du port était involontairement réduite.
Communication du serveur avec le cache
Le serveur communique avec l'hôte de cache sur le port de gestion généré dynamiquement. Toutes les opérations de gestion passent par cette voie.
Et si le service redémarre ?
Dans le cas où le service redémarre, les processus de cache ne seront pas perdus mais la nécessité de rediscouvrir leurs états précédents apparaîtra. Cela signifie que le service doit vérifier quels caches étaient en cours d'exécution avant son crash, ainsi que leurs informations d'identification telles que l'ID de processus, le port, etc. Ce redisPar conséquent, la couverture garantit que les processus de cache ne sont pas dans un état zombie.
Deux outils sont utilisés pour rediscouverture :
Service d'instrumentation de gestion Windows (WMI)
Un service standardisé pour accéder, consolider et partager les informations de gestion des appareils, des applications et des serveurs dans un environnement d'entreprise. Vous pouvez soit exécuter le winmgmt.exe outil ou l'outil de ligne de commande WMIC pour obtenir des informations sur le service.
Mise en situation :
wmic PROCESS WHERE (Description=”Alachisoft.NCache.Service.exe”)
Vous pouvez travailler avec plusieurs autres commandes à l'aide de la Outil de ligne de commande de Windows Management Instrumentation.
outil netstat
Cet outil de ligne de commande affiche les connexions réseau pour les communications TCP entrantes et sortantes, les tables de routage et les statistiques de protocole réseau. Tu peux rediscouvrez vos informations perdues sur les caches en affichant les connexions actives et les ports utilisés. Tous les ports situés dans la plage de ports de service.exe.config indiquera les hôtes de cache utilisant les ports.
Mise en situation :
netstat –o
affichera l'adresse locale, l'adresse étrangère, l'état et l'ID de processus de chaque connexion active.
Plus de détails concernant cet outil peuvent être obtenus auprès de Page Technet de Microsoft.
Voir aussi
Nœud gracieux vers le bas
Clustering dynamique d'auto-guérison
Liaison IP avec plusieurs cartes réseau
Cerveau divisé