Mises à niveau en direct dans NCache avec 100 % de disponibilité

NCache est un cache distribué en mémoire extrêmement rapide et évolutif pour .NET/.Net Core applications. La plupart, NCache est utilisé dans les environnements de production pour les applications critiques qui sont souvent également interactives avec le client. Dans de telles applications, une haute disponibilité et une disponibilité à 100 % sont des exigences extrêmement vitales qui NCache doit répondre à. Et NCache répond à ces exigences très efficacement et grâce à de nombreuses fonctionnalités.

Parmi ces fonctionnalités, il y a Live Upgrade qui vous permet de mettre à niveau NCache vers une version plus récente sans induire d'indisponibilité de l'application.

Comment fonctionne la mise à niveau en direct d'un cluster de cache ?

Le délai important de la mise à niveau manuelle des serveurs est considérablement réduit grâce à la fonction de mise à niveau en direct. NCache vous permet de mettre à niveau tous les serveurs d'un cluster de cache avec un minimum de décalage. NCache, de par sa conception, exige que tous les serveurs exécutent la même version de NCache. Ceci est fait pour éviter tout problème d'incompatibilité de version.

Pour maintenir à jour la version de votre cluster, NCache offre une topologie de pont pour la réplication WAN qui agit comme un pont entre deux clusters de cache. De cette manière, vous pouvez répliquer de manière incrémentielle les données de votre cache en cours d'exécution vers la dernière NCache cache en utilisant ce pont entre les deux pendant que les caches continuent de fonctionner.

Suivez les étapes fournies ici pour mettre à niveau les caches de votre cluster via Live Upgrade.

Étape 1 : Supprimer un sous-ensemble de serveurs pour la mise à niveau

Dans votre cluster, si vous avez 2 serveurs de cache ou plus, retirez-en un sous-ensemble pour mettre à niveau le NCache logiciel serveur sur ces serveurs.

Lors de la suppression d'un sous-ensemble, il est préférable d'avoir un total de 4 serveurs de cache ou plus afin qu'il reste au moins 2 serveurs dans le cluster source. Mais, si votre cluster ne comprend pas 4 serveurs ou plus, c'est bien aussi. Cependant, dans un tel cas, votre application peut faire face à des temps d'arrêt si le seul serveur qui l'assiste tombe en panne.

Étape 2 : Créer un cluster de serveurs de version plus récente

Après avoir mis à niveau NCache sur 2 serveurs de cache ou plus, créez un cluster de tous et démarrez le cache sur ces serveurs. Vous devez avoir au moins 2 serveurs dans chaque sous-cluster pour garantir une haute disponibilité - s'il n'y a qu'un seul serveur et qu'il tombe en panne, vous risquez de subir des temps d'arrêt.

Étape 3 : Créer un pont actif-passif entre l'ancien et le nouveau

Après avoir créé avec succès un cluster comprenant tous les serveurs de cache exécutant une version plus récente de NCache, créez un pont entre le nouveau cluster (communément appelé l'objectif) et l'ancienne version du cluster (la source).

Pour créer ce pont, vous pouvez soit utiliser deux serveurs dédiés avec l'ancienne version de NCache ou exécutez la topologie de pont sur deux des serveurs avec une ancienne version de NCache. Utilisez la configuration active-passive de la topologie de pont et attendez que le cluster cible soit complètement synchronisé avec le cluster source.

Sur le nœud de pont, vous devez ajouter les adresses IP du cache cible pour remplir les serveurs de pont. Vous pouvez le faire via bridge.ncconf comme suit :

<configuration>
  <bridge-config … >
      <cache … servers-list="20.200.20.38, 20.200.20.29" … />
   </bridge-config>
</configuration>

Étape 4 : migrer certains clients vers la nouvelle version

Une fois les deux clusters entièrement synchronisés, vous devez prendre un sous-ensemble de clients et tout migrer vers le nouveau cluster de cache de version. Une fois qu'ils ont été migrés, vous devez arrêter immédiatement tous les clients connectés aux anciennes versions. Cette migration du client de cache via un pont actif-passif garantit qu'il n'y a pas de perte de données ni d'interruption dans les opérations de l'application cliente.

Étape 5 : Mettez à niveau les serveurs restants de l'ancienne version

Une fois que les connexions client ont été transférées avec succès vers le cluster cible, le cluster source doit être arrêté et mis à niveau. Après la mise à niveau NCache logiciel sur tous ses serveurs, ajoutez ces serveurs au cluster de cache de la version la plus récente.

Cela devrait être votre dernière étape dans l'utilisation de la fonctionnalité de mise à niveau en direct de NCache pour mettre à niveau votre cluster de cache existant.

Étape 6 : migrer tous les clients de cache vers le nouveau cluster

Vous devez maintenant migrer les clients restants connectés à l'ancienne version vers le nouveau cluster de cache de version. Une fois que tous vos clients ont été migrés avec succès, vous pouvez commencer à exécuter votre application sur eux.

Utiliser les anciens clients avec le nouveau cluster de cache

Si vous ne souhaitez pas mettre à jour vos clients de cache, NCache permet aux clients d'anciennes versions de fonctionner de manière transparente avec le cluster de cache de version plus récente. C'est donc à vous de décider si vous souhaitez mettre à jour vos clients ou conserver l'ancienne version NCache clients sur vos serveurs d'applications ou serveurs Web (NCache remote clients). Votre application fonctionnera parfaitement même si tous vos serveurs de cache ont été mis à niveau vers la nouvelle version. Tout cela est possible car NCache offre une rétrocompatibilité pour les clients.

Utiliser le nouveau client de cache avec l'API de compatibilité descendante

Il est recommandé de mettre à niveau NCache logiciel client sur votre application et vos serveurs Web, car le nouveau client peut contenir des correctifs de bogues essentiels. Ce processus est extrêmement simple et transparent. En effet, la nouvelle version du client est rétrocompatible avec l'ancienne version. Cette compatibilité permet à votre application de fonctionner avec le nouveau client sans remarquer le moindre changement. La meilleure partie de l'utilisation des mises à niveau en direct dans votre application est qu'elle ne nécessite aucune modification de code ni recompilation. Il vous suffit de mettre à jour la version de NCache logiciel client et le reste est fait pour vous automatiquement.

Pour obtenir des instructions détaillées étape par étape sur la façon d'utiliser la fonction de mise à niveau en direct pour mettre à niveau votre NCache cluster, suivez notre documentation sur Mise à Niveau en Direct NCache Version.

Que faire ensuite?

© Copyright Alachisoft 2002 - . Tous droits réservés. NCache est une marque déposée de Diyatech Corp.