NCache est un cache distribué en mémoire pour.NET/.NET Core, Java, Python, NodeJS et Scala, il est extrêmement rapide et évolutif. Il est utilisé dans les environnements de production pour les applications critiques, dont beaucoup sont également interactives pour l'utilisateur. Dans de telles applications, la haute disponibilité est cruciale. Et grâce à une variété de fonctionnalités, NCache fait un excellent travail pour satisfaire ces besoins.
L'une de ces fonctionnalités est Live Upgrade, qui vous permet de mettre à jour NCache vers une version plus récente sans interrompre votre application via un Pont. NCache fournit une Topologie de pont pour la réplication WAN qui sert de pont entre deux clusters de cache qui maintiennent la version la plus récente de votre cluster. Cependant, la fonction Live Upgrade n'est disponible que pour NCache Enterprise Edition.
Pourquoi passer à NCache versions plus récentes
Si vous utilisez une ancienne version de NCache, nous vous encourageons vivement à effectuer une mise à niveau vers la dernière version pour profiter des avantages de toutes les dernières fonctionnalités et améliorations. Pour voir tous les détails de ces fonctionnalités et améliorations apportées par NCache 5.3 SP1, vous pouvez lire le notes de version of NCache 5.3 SP1.
Mise à niveau en direct de NCache avec une perte de données négligeable
Le temps nécessaire pour mettre à jour manuellement le logiciel est considérablement réduit grâce à la mise à niveau en direct. Vous pouvez utiliser le Mise à Niveau en Direct pour cloner les données de votre cache actuellement opérationnel (appelé cache source) vers le cache le plus récent (cache cible) pendant que les caches sont toujours en cours d'exécution.
En raison de la nature asynchrone de la réplication des données, tous les clients connectés au cache source perçoivent l'activité sur le cache source, même si une copie complète est effectuée de manière transparente vers le cache cible. La configuration du cache source, quant à elle, continue de fonctionner parfaitement et n'est pas affectée par le changement.
La figure ci-dessus affiche un cluster à 4 nœuds avec une ancienne version de NCache installée. Tout d'abord, vous arrêtez les nœuds 3 et 4 et installez la dernière NCache version sur ces nœuds. Ensuite, créez un cache à 2 nœuds sur le nouveau NCache version machine installée (nœuds 3 et 4). À ce stade, nous avons au total deux caches composés de 2 nœuds chacun. Appelons-les un cache source (ancien NCache cache de la version installée) et le cache cible (nouvellement NCache version du cache installé). Ensuite, vous devez créer un pont entre ces deux caches pour transférer les données du cache source vers le cache cible. Arrêtez les nœuds du cache source et installez la dernière NCache version dessus. Ensuite, ajoutez les nœuds 1 et 2 au cache cible pour en faire un cluster à 4 nœuds.
Idéalement, il est préférable d'avoir un cluster à 4 nœuds, afin de pouvoir répartir les données entre les deux nœuds du serveur. La division des nœuds du cluster est basée sur le fait que cette division n'entraîne en aucun cas une perte de données. Quelle que soit la division de cluster que vous choisissez, elle devrait pouvoir contenir des données égales dans son cluster divisé. Si vous avez un cluster à 2 nœuds, nous vous déconseillons de les diviser. Au lieu de cela, ayez un cluster temporaire à 2 nœuds qui a la version la plus récente de NCache installée. Une fois que les 2 nœuds existants ont rejoint le nouveau cluster, vous pouvez supprimer ces nœuds temporaires.
Comment passer à NCache Version en direct
Par exemple, nous avons un cluster à 4 nœuds comme expliqué dans le diagramme de la section précédente. Retirez deux nœuds (3 et 4) et installez la dernière version de NCache sur eux (cache cible). Les deux autres nœuds (1 et 2) ont une ancienne version NCache installé (cache source). Les deux caches sont identiques en termes de nom et de configuration. Il s'agit d'une configuration active-passive.
-
- Créez un nouveau pont entre ces deux clusters comme expliqué sur le Créer un pont .
- Dans le … balises de pont.ncconf sur le nœud pont, ajoutez manuellement le cache cible comme suit :
1234567891011<configuration><bridge-config … ><cache cache-id="demoCache.WestCoast" status="active" servers-list="20.200.20.43" bulk-operation-size="500"enable-compression="False" connection-retry-interval="3" heart-beat-enabled="True" replicator-virtual-queue-size="2048MB" is-connected="True" is-master="False"/><cache cache-id="demoCache.EastCoast" status="active" servers-list="20.200.20.40" bulk-operation-size="500"enable-compression="False" connection-retry-interval="3" heart-beat-enabled="True" replicator-virtual-queue-size="2048MB" is-connected="True" is-master="False"/></bridge-config></configuration> - Après la modification de bridge.ncconf, redémarrez le service de pont à l'aide de l'applet de commande PowerShell suivante.
1Restart-Service NBridgeSvc - Fournissez le cache source et le cache cible en tant qu'entrées à la commande Start-BridgeStateTransfer PowerShell pour commencer le transfert d'état.
12Start-BridgeStateTransfer -Server 20.200.20.43 -Name demoBridge -SourceCache demoCache.WestCoast -TargetCachedemoCache.EastCoast - Les données seront répliquées de manière asynchrone de l'ancien cluster (actif) vers le nouveau cluster (passif).
- Une fois les deux caches entièrement synchronisés, vous devez arrêter les clients et les reconnecter au nouveau cluster. Pour ce faire, remplacez l'adresse IP du ou des serveurs de cache source par l'adresse IP du serveur de cache cible dans client.ncconf de chaque nœud client et reconnectez les clients.
- Retirez le pont.
- Une fois que les clients ont été connectés avec succès au cluster le plus récent, arrêtez l'ancien cluster et installez-y la version la plus récente. Ajoutez ces serveurs au cluster de cache avec la version la plus récente après la mise à niveau du NCache logiciel sur tous ses serveurs.
- Joignez les nœuds 1 et 2 au nouveau cluster l'un après l'autre.
Conclusion
NCache permet à ses utilisateurs des mises à niveau transparentes vers ses dernières versions avec une perte de données négligeable. Les utilisateurs n'ont pas à se soucier de passer d'un NCache version à la suivante, que ce soit la mise à niveau en direct ou la direct NCache mise à niveau de version. Pour plus de détails sur NCache, s'il te plait regarde NCache docs.