Partager via


Haute disponibilité dans Azure In-Role Cache

Important

Microsoft recommande tous les nouveaux développements à l’aide du Cache Redis Azure. Pour obtenir de la documentation et des conseils actuels sur le choix d’une offre Azure Cache, consultez Quelle offre Azure Cache est adaptée à moi ?

In-Role Cache vous permet de maintenir la haute disponibilité pour les objets mis en cache. Utilisez les propriétés de rôle Azure pour activer la haute disponibilité pour chaque cache nécessitant cette fonctionnalité. Aucune modification du code n'est requise. Vous devez seulement recalculer la capacité de mémoire nécessaire pour votre charge de travail. Pour ce faire, vous pouvez activer le paramètre Haute disponibilité dans la feuille de calcul de planification de la capacité. Pour plus d’informations, consultez Considérations relatives à la planification de la capacité pour azure In-Role Cache.

Avec la haute disponibilité, les objets mis en cache sont répliqués dans le même déploiement de service cloud pour garantir la résilience en cas de défaillance matérielle. Des copies secondaires sont également placées dans différents domaines d'erreur et de mise à niveau pour accroître la disponibilité. Si une des machines virtuelles du cluster de cache tombe en panne pour une raison quelconque, le cluster de cache peut utiliser les copies secondaires pour éviter la perte de données.

Architecture

La haute disponibilité requiert plusieurs instances du rôle associé. Une deuxième copie de l'élément mis en cache est conservée dans une instance distincte appartenant à un domaine d'erreur et un domaine de mise à niveau différents. De cette façon, si une instance tombe en panne, une copie de sauvegarde est disponible sur une autre instance. Dans ce scénario, la copie secondaire est promue comme copie principale. Une nouvelle copie secondaire est ensuite effectuée sur l'une des instances restantes pour maintenir la haute disponibilité.

Pour implémenter la haute disponibilité, toutes les écritures de cache sont effectuées dans les copies principales et secondaires.

Notes

Même lorsque la haute disponibilité est désactivée, le cluster de cache tente de préserver les données lors des arrêts planifiés, tels qu'un redémarrage. Dans ce scénario, le cluster de cache tente de transférer les éléments mis en cache vers les autres serveurs avant l'arrêt. Selon la quantité de données à transférer, il n'est toutefois pas garanti qu'il parvienne à effectuer cet arrêt correct. Par ailleurs, contrairement à la haute disponibilité, les données ne sont pas préservées lors des arrêts inattendus.

Considérations

Le rôle qui héberge In-Role Cache doit être configuré pour s’exécuter sur au moins quatre instances. La haute disponibilité peut être activée sur les rôles configurés pour deux ou trois instances en cours d'exécution, mais elle n'est pas recommandée pour les raisons suivantes.

  • Azure redémarre parfois les machines virtuelles pour la maintenance de routine. Les mises à jour sur place d'une application entraînent également la déconnexion des machines virtuelles. Dans les deux scénarios, il est préférable d'avoir au moins trois serveurs dans le cluster de cache. De cette façon, si l'un des serveurs tombe en panne, le cluster de cache dispose toujours de trois serveurs sur lesquels placer les copies principales et secondaires des objets mis en cache. Avec un seul serveur en cours d'exécution, le cache est toujours accessible, mais la haute disponibilité n'est plus fournie.

  • Même si trois serveurs satisfont à la condition précédente, il est recommandé d'utiliser quatre serveurs. Ceci permet de répartir équitablement les copies principales entre les domaines d'erreur. Cela améliore la distribution des données dans le cluster de cache, de même que les modèles de trafic réseau et les performances.

Lorsqu'une instance devient indisponible, les copies secondaires sont promues comme copies principales et les informations de routage sont mises à jour pendant un laps de temps réduit. Pendant cette période, les clients reçoivent des exceptions DataCacheException avec un ErrorCode de RetryLater. In-Role Les applications cache doivent utiliser la gestion des erreurs normale et la logique de nouvelle tentative pour réagir correctement à cette condition.

Comme toutes les écritures sont effectuées sur les copies principales et secondaires, la haute disponibilité augmente la latence et réduit le débit. Ceci peut constituer un compromis raisonnable pour les caches tirant parti de la haute disponibilité.

Important

Par définition, l'utilisation de la haute disponibilité multiplie par deux la quantité de mémoire requise pour chaque élément en cache. Tenez compte de cet impact sur la mémoire pendant les tâches de planification de la capacité. Pour plus d’informations, consultez Considérations relatives à la planification de la capacité pour azure In-Role Cache.

Pour activer la haute disponibilité

  1. Double-cliquez sur le rôle qui a In-Role Cache activé.

  2. Sous l'onglet Configuration, vérifiez que Nombre d'instances est défini sur la valeur 4 au minimum.

  3. Sous l'onglet Mise en cache, activez la case à cocher Haute disponibilité pour le cache nécessitant la haute disponibilité. La capture d'écran suivante montre l'option Haute disponibilité activée pour deux des trois caches.

    Caching Backup Copies

Voir aussi

Concepts

Fonctionnalités de In-Role Cache dans Azure Cache