Spécification des clusters et des nœuds

Cette page décrit les spécifications des clusters et des nœuds pour les instances Memorystore pour Redis Cluster. Pour savoir comment créer une instance, consultez Créer des instances.

Choisir un type de nœud

Les segments de votre cluster utilisent tous le même type de nœud de votre choix. Le type de nœud le plus adapté à votre cluster dépend de vos exigences en termes de prix, de performances et de capacité d'espace de clés.

Le type de nœud redis-shared-core-nano est destiné aux petites charges de travail. Ce type de nœud offre des performances variables et n'est associé à aucun contrat de niveau de service, ce qui le rend inadapté aux charges de travail de production.

Le type de nœud redis-standard-small vous permet de provisionner de petits clusters et de les développer par petits incréments à des coûts potentiellement inférieurs à ceux des autres types de nœuds. redis-standard-small offre également l'avantage de distribuer votre espace de clés sur davantage de nœuds avec un nombre total de vCPU plus élevé. Cela offre un meilleur rapport prix/performances que redis-highmem-medium, à condition que la capacité totale de l'espace de clés des nœuds plus petits soit suffisante pour vos besoins en données.

Si vos charges de travail nécessitent un taux de puissance de traitement plus élevé par rapport à la mémoire, choisissez le type de nœud redis-highcpu-medium. Si vous avez besoin de plus de capacité que celle fournie par redis-highmem-medium, nous vous recommandons de choisir les types de nœuds redis-standard-large, redis-highmem-xlarge ou redis-highmem-2xlarge. Lorsque vous ajoutez des vCPU à des nœuds de plus en plus grands (scaling vertical), les performances de Redis peuvent ne pas évoluer de manière linéaire. Pour obtenir un meilleur rapport prix performances, nous vous recommandons plutôt d'effectuer un scaling horizontal en ajoutant des nœuds à un cluster.

Spécification du type de nœud

La capacité et les caractéristiques des nœuds dépendent du type de nœud que vous choisissez :

Capacité de l'espace de clés et surcharge réservée

Type de nœud Capacité d'espace de clés accessible en écriture par défaut Capacité totale du nœud
redis-shared-core-nano 1,12 Go 1,4 Go
redis-standard-small 5,2 Go 6,5 Go
redis-highmem-medium 10,4 Go 13 Go
redis-highcpu-medium 10,4 Go 13 Go
redis-standard-large 20,8 Go 26 Go
redis-highmem-xlarge 46,4 Go 58 Go
redis-highmem-2xlarge 88 Go 110 Go

Memorystore réserve automatiquement une partie de la capacité de votre instance pour éviter les erreurs de mémoire insuffisante. Cela garantit une expérience fluide lors de la lecture et de l'écriture de clés. Les limites de mémoire et les détails de stockage sont les suivants :

  • Personnaliser votre stockage : nous vous recommandons d'utiliser les paramètres par défaut, mais vous pouvez ajuster la quantité de stockage réservé à l'aide de la configuration maxmemory. Pour en savoir plus sur maxmemory, consultez Configurations d'instance compatibles.

  • Quelle quantité de stockage obtenez-vous ? Reportez-vous à la colonne Capacité d'espace de clés accessible en écriture par défaut du tableau précédent. Elle indique la quantité de stockage disponible pour vos clés par défaut.

  • Maximiser le stockage : si vous souhaitez obtenir le stockage maximal possible, la colonne Capacité totale du nœud indique la limite de stockage lorsque vous définissez la configuration maxmemory sur 100 %. Toutefois, nous vous déconseillons de choisir une valeur maxmemory supérieure au paramètre par défaut.

  • Le type de nœud redis-shared-core-nano est limité à 1, 12 Go et ne peut pas être modifié avec la configuration maxmemory.

Caractéristiques des nœuds

Type de nœud Nombre de vCPU SLA proposé Nombre par défaut de connexions client Nombre maximal de connexions client Mémoire maximale pour les clients (configuration maxmemory-clients )
redis-shared-core-nano 0,5 Non 5 000 5 000 12%
redis-standard-small 2 Oui 16 000 32 000 7%
redis-highmem-medium 2 Oui 32 000 64 000 7%
redis-highcpu-medium 8 Oui 32 000 64 000 7%
redis-standard-large 8 Oui 32 000 64 000 7%
redis-highmem-xlarge 8 Oui 64 000 64 000 4%
redis-highmem-2xlarge 16 Oui 64 000 64 000 4%

Plus vous sélectionnez de processeurs virtuels (vCPU) pour votre cluster, meilleures sont les performances. Si votre cluster exécute des charges de travail gourmandes en ressources, sélectionnez un type de nœud avec un nombre de vCPU plus élevé (par exemple, redis-highmem-xlarge). Si votre cluster effectue des tâches moins exigeantes, sélectionnez un type de nœud avec un nombre de vCPU inférieur (par exemple, redis-highmem-medium).

Procéder au scaling d'une instance

Lorsque vous créez une instance Memorystore pour Redis Cluster, vous choisissez un type de nœud pour l'instance et spécifiez le nombre de segments pour l'instance. Une fois l'instance créée, et à mesure que les besoins en capacité de votre instance évoluent, vous devrez peut-être effectuer un scaling de l'instance de l'une des manières suivantes :

  • Modifiez le nombre de segments de votre instance. Il s'agit d'un scaling horizontal. Pour effectuer un scaling horizontal d'une instance, effectuez l'une des actions suivantes :
    • Ajoutez des segments à l'instance. Il s'agit d'un scaling horizontal de l'instance.
    • Supprimez des segments de l'instance. Il s'agit d'un scaling vertical de l'instance.
  • Modifiez le type de nœud de votre instance. Il s'agit d'un scaling vertical. Pour effectuer un scaling vertical d'une instance, remplacez le type de nœud de l'instance par l'un des types de nœuds suivants :
    • Passez à un type de nœud plus grand. Il s'agit d'un scaling à la hausse de l'instance.
    • Passez à un type de nœud plus petit. Il s'agit d'un scaling à la baisse de l'instance.

Spécification du cluster

Cette section présente les capacités minimales et maximales du cluster en fonction de sa forme, de son type de nœud et du nombre d'instances répliquées.

Capacité minimale accessible en écriture

La capacité accessible en écriture correspond à la quantité de stockage disponible pour l'écriture de clés. Elle est égale à la taille d'un nœud d'instance. Par conséquent, selon le type de nœud, la capacité minimale accessible en écriture est comprise entre 1,4 Go et 110 Go. La capacité minimale accessible en écriture n'est pas affectée par le nombre d'instances répliquées que vous choisissez.

Capacité maximale accessible en écriture

Type et taille du nœud Capacité maximale pour une forme de cluster de 250 nœuds principaux et 0 instance répliquée par nœud Capacité maximale pour une forme de cluster de 125 nœuds principaux et 1 instance répliquée par nœud Capacité maximale pour une forme de cluster de 83 nœuds principaux et 2 instances répliquées par nœud Capacité maximale pour une forme de cluster de 62 nœuds principaux et 3 instances répliquées par nœud Capacité maximale pour une forme de cluster de 50 nœuds principaux et 4 instances répliquées par nœud Capacité maximale pour une forme de cluster de 41 nœuds principaux et 5 instances répliquées par nœud
redis-shared-core-nano - 1,4 Go 350 Go 175 Go 116,2 Go 86,8 Go 70 Go 57,4 Go
redis-standard-small - 6,5 Go 1 625 Go 812,5 Go 539,5 Go 403 Go 325 Go 266,5 Go
redis-highmem-medium - 13 Go 3 250 Go 1 625 Go 1 079 Go 806 Go 650 Go 533 Go
redis-highcpu-medium - 13 Go 3 250 Go 1 625 Go 1 079 Go 806 Go 650 Go 533 Go
redis-standard-large - 26 Go 6 500 Go 3 250 Go 2 158 Go 1 612 Go 1 300 Go 1 066 Go
redis-highmem-xlarge - 58 Go 14 500 Go 7 250 Go 4 814 Go 3 596 Go 2 900 Go 2 378 Go
redis-highmem-2xlarge - 110 Go 27 500 Go 13 750 Go 9 130 Go 6 820 Go 5 500 Go 4 510 Go

Performances

L'utilisation de l'outil d'analyse comparative OSS memtier dans la région us-central1 a généré entre 120 000 et 130 000 opérations par seconde et par nœud à deux vCPU (redis-standard-small et redis-highmem-medium) avec une latence de quelques microsecondes et une taille de données de 1 Kio.

Nous vous recommandons d'effectuer votre propre analyse comparative avec des charges de travail réelles ou synthétiques qui ressemblent à votre trafic de production. Nous vous recommandons également de dimensionner vos clusters avec une mémoire tampon (ou "marge") pour les pics de charge de travail ou le trafic inattendu. Pour obtenir des conseils supplémentaires, consultez Bonnes pratiques pour Memorystore pour Redis Cluster.

Points de terminaison du cluster

Cette section explique les deux points de terminaison de chaque instance.

Point de terminaison de détection

Chaque instance dispose d'un point de terminaison de détection auquel votre client se connecte. Il s'agit d'une combinaison d'une adresse IP et d'un numéro de port. Pour savoir comment trouver le point de terminaison de détection de votre cluster, consultez Afficher le point de terminaison de détection de votre cluster.

Votre client l'utilise également pour la détection des nœuds. Votre client utilise le point de terminaison de détection pour récupérer la topologie de cluster de votre instance afin d'amorcer les clients de cluster OSS Redis et de les maintenir à jour en état stable. La topologie de cluster résultante fournit des points de terminaison de nœud Redis (combinaisons d'IP et de ports) à mettre en cache en mémoire par le client de cluster Redis. Votre client gère ensuite automatiquement les mises à jour et les redirections sans aucune autre modification d'application requise. Pour en savoir plus sur le comportement de détection des clients et les bonnes pratiques, consultez Détection des clients.

Le point de terminaison de détection est disponibilité élevée, car il est soutenu par plusieurs nœuds Redis sur plusieurs zones pour desservir la topologie de cluster. La topologie de service via le point de terminaison est robuste, même en cas de défaillance ou de mise à jour des nœuds de backend.

Votre point de terminaison de détection présente le comportement suivant :

  1. Le point de terminaison de détection de votre cluster reste inchangé tout au long du cycle de vie de l'instance de cluster, même pendant la maintenance ou toute autre action que vous effectuez, comme le scaling horizontal ou vertical, ou la modification du nombre d'instances répliquées.

  2. Les points de terminaison des nœuds Redis peuvent changer et être recyclés à mesure que des nœuds sont ajoutés et supprimés au fil du temps. Idéalement, vous devez utiliser un client de cluster Redis capable de gérer ces modifications automatiquement via des actualisations et des redirections de la topologie. Vous trouverez des exemples de clients de cluster Redis dans Exemples de code de la bibliothèque cliente. Votre application ne doit pas avoir de dépendances ni d'hypothèses selon lesquelles les points de terminaison des nœuds resteront inchangés pour un cluster donné.

Point de terminaison de données

En plus du point de terminaison de détection, chaque cluster dispose d'un point de terminaison de données. Ce point de terminaison est réservé à Memorystore pour Redis Cluster afin de connecter votre client aux nœuds du cluster. Par conséquent, ne vous connectez pas directement à ce point de terminaison.