Comprendre la réplication Redis - Amazon ElastiCache for Redis

Comprendre la réplication Redis

Redis implémente la réplication de deux façons :

  • Avec une partition unique contenant l'ensemble des données du cluster dans chaque nœud — Redis (mode cluster désactivé)

  • Avec des données partitionnées sur un maximum de 500 partitions — Redis (mode cluster activé)

Chaque partition d'un groupe de réplication compte un nœud simple primaire en lecture/écriture et jusqu'à 5 nœuds de réplica en lecture seule. Vous pouvez créer un cluster contenant un nombre de partitions supérieur et un nombre de réplicas inférieur, qui conduisent à un nombre total de 90 nœuds par cluster. Cette configuration de cluster peut contenir de 90 partitions avec 0 réplica à 15 partitions avec 5 réplicas, ce qui correspond au nombre maximal de réplicas autorisé.

La limite de nœuds ou de partitions peut être augmentée à un maximum de 500 par cluster si la version du moteur Redis est 5.0.6 ou ultérieure. Par exemple, vous pouvez choisir de configurer un cluster de 500 nœuds qui s'étend entre 83 (un principal et 5 réplicas par partition) et 500 partitions (un principal et aucun réplicas). Assurez-vous qu'il y a suffisamment d'adresses IP disponibles pour répondre à l'augmentation. Les pièges courants incluent les sous-réseaux du groupe de sous-réseaux avec une plage CIDR trop petite ou les sous-réseaux partagés et fortement utilisés par d'autres clusters. Pour plus d’informations, consultez Création d'un groupe de sous-réseaux.

Pour les versions antérieures à 5.0.6, la limite est de 250 par cluster.

Pour demander une augmentation de cette limite, veuillez consulter AWS Service Limits et sélectionnez le type de limite Nœuds par cluster par type d'instance.

Redis (Mode cluster désactivé)

Un cluster Redis comporte une seule partition, dans laquelle se trouve un ensemble de nœuds Redis : un nœud primaire en lecture/écriture et jusqu'à 5 nœuds de réplica en lecture seule. Chaque réplica en lecture conserve une copie des données du nœud principal du cluster. Des mécanismes de réplication asynchrones sont utilisés pour maintenir les réplicas en lecture synchronisés avec le nœud principal. Les applications peuvent lire à partir de n'importe quel nœud du cluster. Les applications ne peuvent écrire que sur le nœud principal. Les réplicas en lecture améliorent le débit de lecture et préviennent la perte de données en cas de défaillance d'un nœud.

Image : Cluster Redis (mode cluster désactivé) avec une seule partition et des nœuds de réplica

Cluster Redis (mode cluster désactivé) avec une seule partition et des nœuds de réplica

Vous pouvez utiliser des clusters Redis (mode cluster désactivé) avec des nœuds de réplica pour mettre à l'échelle votre solution Redis afin qu'ElastiCache gère des applications de lecture intensive ou prenne en charge un grand nombre de clients qui lisent simultanément des données à partir du même cluster.

Tous les nœuds d'un cluster Redis (mode cluster désactivé) doivent résider dans la même région.

Lorsque vous ajoutez un réplica en lecture à un cluster, toutes les données du nœud principal sont copiées dans le nouveau nœud. A partir de ce moment, chaque fois que des données sont écrites sur le nœud principal, les changements sont propagés en mode asynchrone sur tous les réplicas en lecture.

Pour améliorer la tolérance aux pannes et réduire les délais d'écriture, activez le mode Multi-AZ avec basculement automatique pour votre cluster avec réplicas. Pour plus d’informations, consultez Réduction des temps d'arrêt dans ElastiCache for Redis avec Multi-AZ.

Vous pouvez modifier les rôles des nœuds au sein du cluster Redis (mode cluster désactivé). Le nœud primaire et l'un des réplicas peuvent, par exemple, échanger leurs rôles. Vous pouvez décider de le faire pour améliorer des performances. Par exemple, avec une application Web qui a une activité d'écriture intensive, vous pouvez choisir le nœud avec la plus basse latence réseau. Pour plus d’informations, consultez Promotion d'un réplica en lecture en principal, pour des groupes de réplication Redis (mode cluster désactivé).

Redis (Mode cluster activé)

Un cluster Redis (Mode cluster activé) est composé de 1 à 500 partitions (API/CLI : groupes de nœuds). Chaque partition dispose d'un nœud primaire et jusqu'à 5 nœuds de réplica en lecture seule. La configuration peut contenir de 90 partitions avec 0 réplica à 15 partitions avec 5 réplicas, ce qui correspond au nombre maximal de réplicas autorisé.

La limite de nœuds ou de partitions peut être augmentée à un maximum de 500 par cluster si la version du moteur Redis est 5.0.6 ou ultérieure. Par exemple, vous pouvez choisir de configurer un cluster de 500 nœuds qui s'étend entre 83 (un principal et 5 réplicas par partition) et 500 partitions (un principal et aucun réplicas). Assurez-vous qu'il y a suffisamment d'adresses IP disponibles pour répondre à l'augmentation. Les pièges courants incluent les sous-réseaux du groupe de sous-réseaux avec une plage CIDR trop petite ou les sous-réseaux partagés et fortement utilisés par d'autres clusters. Pour plus d’informations, consultez Création d'un groupe de sous-réseaux.

Pour les versions antérieures à 5.0.6, la limite est de 250 par cluster.

Pour demander une augmentation de cette limite, veuillez consulter AWS Service Limits et sélectionnez le type de limite Nœuds par cluster par type d'instance.

Chaque réplica en lecture d'une partition conserve une copie des données du nœud principal de la partition. Des mécanismes de réplication asynchrones sont utilisés pour maintenir les réplicas en lecture synchronisés avec le nœud principal. Les applications peuvent lire à partir de n'importe quel nœud du cluster. Les applications ne peuvent écrire que sur les nœuds principaux. Les réplicas en lecture améliorent l'évolutivité de la lecture et empêchent la perte de données. Les données sont partitionnées entre les partitions d'un cluster Redis (mode cluster activé).

Les applications utilisent le configuration point de terminaison du cluster Redis (mode cluster activé) pour se connecter aux nœuds du ce dernier. Pour plus d’informations, consultez Recherche de points de terminaison de connexion.


               Image : Cluster Redis (mode cluster activé) avec plusieurs partitions et des nœuds de réplica

Cluster Redis (mode cluster activé) avec plusieurs partitions et des nœuds de réplica

Tous les nœuds d'un cluster Redis (mode cluster activé) doivent résider dans la même région. Pour améliorer la tolérance aux pannes, vous pouvez mettre en service les réplicas principaux et en lecture dans plusieurs zones de disponibilité au sein de cette région.

Actuellement, il existe certaines limitations dans Redis (mode cluster activé).