Topologie du cache miroir
Dans une topologie en miroir, un cluster de cache ne peut pas avoir plus de deux nœuds. À la fois, un seul des deux nœuds fonctionne comme nœud actif, tandis que l’autre agit comme nœud passif. Le nœud passif, également appelé nœud de sauvegarde, atténue un point de défaillance unique. Lorsque le nœud actif tombe en panne, le nœud passif assume le rôle de nœud actif, ce qui garantit qu'il n'existe aucun point de défaillance unique dans cette topologie. Les opérations de lecture et d'écriture sont effectuées sur le nœud actif, puis les écritures sont répliquées de manière asynchrone sur le nœud de sauvegarde ou passif. Cependant, le degré de réplication dans cette topologie est limité à un seul nœud, contrairement à la topologie répliquée, où nous pouvons avoir plusieurs réplicas.
Notes
Cette fonctionnalité est également disponible dans NCache Professional.
Les clusters de cache en miroir conviennent à la mise en cache de petites quantités de données lorsque la charge utilisateur ne devrait pas augmenter. La topologie n'est pas évolutive pour les opérations de lecture ou d'écriture puisque toutes les opérations client sont uniquement effectuées sur le nœud actif du cluster. Cependant, la topologie fournit une sorte de haute disponibilité via la réplication vers le nœud de sauvegarde. Lorsque le nœud actif quitte le cluster, le nœud passif reprend automatiquement le rôle du nœud actif et toutes les applications clientes commencent à communiquer avec ce nouveau nœud actif.
Sélection de nœud actif dans le cache miroir
Le nœud le plus ancien du cluster est considéré comme le nœud actif du cluster. Vous pouvez également choisir le nœud actif lorsque le cluster est arrêté ou en cours d'exécution, mais si vous modifiez le nœud actif d'un cluster en cours d'exécution, vous devez redémarrer le cluster pour que vos modifications prennent effet. Une fois que le nœud actif quitte le cluster, le nœud passif correspondant devient automatiquement le nœud actif. Lorsque le nœud précédemment actif revient en ligne, il rejoint le cluster en tant que nœud passif.
Réplication asynchrone
Le client se connecte directement au nœud actif du cluster uniquement, tandis que le deuxième nœud (nœud passif) du cluster dispose d'une sauvegarde du nœud actif. Le nœud actif du cluster est responsable du maintien de la sauvegarde sur le nœud passif. Toutes les opérations d'écriture sur le nœud actif sont répliquées via la file d'attente en arrière-plan vers le nœud passif. Chaque opération d'écriture est mise en file d'attente et les threads d'arrière-plan dédiés sélectionnent les données de cette file d'attente en morceaux et les répliquent sur le nœud passif. Le client reçoit une réponse des opérations d'écriture juste après leur exécution réussie sur le nœud actif. L'opération est mise en file d'attente et répliquée ultérieurement sur le nœud passif.
Notes
Il convient de noter que l'application client ne subira aucune dégradation des performances pendant que les opérations sont répliquées de manière asynchrone du nœud actif vers le nœud passif.
La réplication des données étant asynchrone, il existe un risque de perte de données. Si le nœud actif tombe en panne sans répliquer les opérations en file d'attente, une perte de données se produit.
Rôle du serveur coordinateur
Le nœud de serveur actif du cluster de cache fait office de serveur coordinateur. Le serveur coordinateur est chargé d'effectuer plusieurs tâches telles que le transfert d'état, les opérations d'écriture différée, les invalidations de données (expirations et dépendances), etc. Après avoir décidé de supprimer l'un des éléments du cache, il demande à l'autre nœud (nœud passif) pour les supprimer également de son cache. Lorsque le serveur coordinateur (nœud actif) quitte le cluster de cache, le nœud passif devient le serveur coordinateur et reprend ses responsabilités.
Connectivité client
Dans la topologie en miroir, le client se connecte uniquement au nœud actif du cluster. Cela signifie que les connexions client sont bloquées sur le nœud passif du cluster. Le client n'a pas besoin d'établir une connexion avec les deux nœuds (actifs et passifs) du cluster car ils contiennent les mêmes données. Comme indiqué précédemment, lorsque le nœud actif tombe en panne, le nœud passif devient automatiquement le nœud actif et le client établit automatiquement une connexion avec lui.
Transfert d'État
Le transfert d'état est déclenché lorsque le deuxième nœud rejoint le cluster de cache dans la topologie en miroir. Dans ce cas, le serveur coordinateur (nœud actif) synchronise ses données avec le deuxième nœud (passif).
Voir aussi
Topologies partitionnées
Topologie répliquée
Cluster de cache
Cache local