Especificación de clústeres y nodos

En esta página, se describen las especificaciones del clúster y del nodo para las instancias de Memorystore for Redis Cluster. Si deseas obtener instrucciones para crear una instancia, consulta Crea instancias.

Elige un tipo de nodo

Todos los fragmentos de tu clúster usan el mismo tipo de nodo que elijas. El mejor tipo de nodo para tu clúster depende de tus requisitos de precio, rendimiento y capacidad de espacio de claves.

El tipo de nodo redis-shared-core-nano es para cargas de trabajo pequeñas. Este tipo de nodo proporciona un rendimiento variable y no tiene un ANS, lo que lo hace inadecuado para las cargas de trabajo de producción.

El tipo de nodo redis-standard-small te permite aprovisionar clústeres pequeños y aumentar tu clúster en incrementos más pequeños a costos potencialmente más bajos que otros tipos de nodos. redis-standard-small también ofrece la ventaja de distribuir tu espacio de claves en más nodos con un recuento total más alto de CPU virtuales. Esto ofrece un mejor rendimiento en relación con el precio en comparación con redis-highmem-medium, siempre que la capacidad total del espacio de claves de los nodos más pequeños sea suficiente para tus necesidades de datos.

Si tienes cargas de trabajo que requieren una tasa más alta de potencia de procesamiento en relación con la memoria, elige el tipo de nodo redis-highcpu-medium. Si necesitas más capacidad de la que proporciona redis-highmem-medium, te recomendamos que elijas los tipos de nodos redis-standard-large, redis-highmem-xlarge o redis-highmem-2xlarge. Cuando agregas CPU virtuales a nodos cada vez más grandes (escalamiento vertical), es posible que el rendimiento de Redis no se escale de forma lineal. En cambio, para obtener un mejor rendimiento en relación con el precio, te recomendamos que realices un escalamiento horizontal agregando más nodos a un clúster.

Especificación del tipo de nodo

La capacidad y las características del nodo dependen del tipo de nodo que elijas:

Capacidad de espacio de claves y sobrecarga reservada

Tipo de nodo Capacidad de espacio de claves grabable predeterminada Capacidad total del nodo
redis-shared-core-nano 1.12 GB 1.4 GB
redis-standard-small 5.2 GB 6.5 GB
redis-highmem-medium 10.4 GB 13 GB
redis-highcpu-medium 10.4 GB 13 GB
redis-standard-large 20.8 GB 26 GB
redis-highmem-xlarge 46.4 GB 58 GB
redis-highmem-2xlarge 88 GB 110 GB

Memorystore reserva automáticamente una parte de la capacidad de tu instancia para ayudar a evitar errores por falta de memoria (OOM). Esto garantiza una experiencia fluida de lectura y escritura de claves. Los límites de memoria y los detalles de almacenamiento son los siguientes:

  • Personaliza tu almacenamiento: Si bien te recomendamos que uses la configuración predeterminada, tienes la opción de ajustar la cantidad de almacenamiento reservado con la configuración maxmemory. Para obtener información sobre maxmemory, consulta Configuraciones de instancias compatibles.

  • ¿Cuánto almacenamiento obtienes? Consulta la columna Capacidad de espacio de claves grabable predeterminada de la tabla anterior. En ella, se muestra la cantidad de almacenamiento disponible para tus claves de forma predeterminada.

  • Maximiza el almacenamiento Si deseas obtener el máximo almacenamiento posible, la columna Capacidad total del nodo muestra el límite de almacenamiento cuando estableces la configuración maxmemory en 100%. Sin embargo, no te recomendamos que elijas un valor maxmemory superior a la configuración predeterminada.

  • El tipo de nodo redis-shared-core-nano tiene un límite máximo de 1.12 GB y no se puede cambiar con la configuración maxmemory.

Características del nodo

Tipo de nodo Recuento de CPU virtuales ANS ofrecido Cantidad predeterminada de conexiones de cliente Cantidad máxima de conexiones de cliente Memoria máxima para clientes (configuración maxmemory-clients configuration)
redis-shared-core-nano 0.5 No 5,000 5,000 12%
redis-standard-small 2 16,000 32,000 7%
redis-highmem-medium 2 32,000 64,000 7%
redis-highcpu-medium 8 32,000 64,000 7%
redis-standard-large 8 32,000 64,000 7%
redis-highmem-xlarge 8 64,000 64,000 4%
redis-highmem-2xlarge 16 64,000 64,000 4%

Cuantas más CPUs virtuales (vCPUs) selecciones para tu clúster, mejor será el rendimiento. Si tu clúster ejecuta cargas de trabajo que consumen muchos recursos, selecciona un tipo de nodo con una CPU virtual más alta (por ejemplo, redis-highmem-xlarge). Si tu clúster realiza tareas menos exigentes, selecciona un tipo de nodo con una CPU virtual más baja (por ejemplo, redis-highmem-medium).

Escala una instancia

Como parte de la creación de una instancia de Memorystore for Redis Cluster, debes elegir un tipo de nodo para la instancia y especificar la cantidad de fragmentos para la instancia. Después de crear la instancia y a medida que cambien las necesidades de capacidad de tu instancia, es posible que debas escalarla de las siguientes maneras:

  • Cambia la cantidad de fragmentos de tu instancia. Esto es un escalamiento horizontal. Para escalar una instancia de forma horizontal, realiza una de las siguientes acciones:
    • Agrega fragmentos a la instancia. Esto es un escalamiento horizontal de la instancia.
    • Quita fragmentos de la instancia. Esto es un escalamiento vertical de la instancia.
  • Cambia el tipo de nodo de tu instancia. Esto es un escalamiento vertical. Para escalar una instancia de forma vertical, cambia el tipo de nodo de la instancia a uno de los siguientes tipos de nodos:
    • Cambia a un tipo de nodo más grande. Esto es un escalamiento vertical de la instancia.
    • Cambia a un tipo de nodo más pequeño. Esto es un escalamiento vertical de la instancia.

Especificación del clúster

En esta sección, se muestran las capacidades mínimas y máximas del clúster, según la forma del clúster, el tipo de nodo y el recuento de réplicas.

Capacidad grabable mínima

La capacidad grabable es la cantidad de almacenamiento disponible para escribir claves. Es igual al tamaño de un nodo de instancia. Por lo tanto, según el tipo de nodo, la capacidad grabable mínima es de entre 1.4 GB y 110 GB. La cantidad de réplicas que elijas no afecta la capacidad grabable mínima.

Capacidad grabable máxima

Tipo y tamaño del nodo Capacidad máxima dada la forma del clúster de 250 nodos principales y 0 réplicas por nodo Capacidad máxima dada la forma del clúster de 125 nodos principales y 1 réplicas por nodo Capacidad máxima dada la forma del clúster de 83 nodos principales y 2 réplicas por nodo Capacidad máxima dada la forma del clúster de 62 nodos principales y 3 réplicas por nodo Capacidad máxima dada la forma del clúster de 50 nodos principales y 4 réplicas por nodo Capacidad máxima dada la forma del clúster de 41 nodos principales y 5 réplicas por nodo
redis-shared-core-nano - 1.4 GB 350 GB 175 GB 116.2 GB 86.8 GB 70 GB 57.4 GB
redis-standard-small - 6.5 GB 1,625 GB 812.5 GB 539.5 GB 403 GB 325 GB 266.5 GB
redis-highmem-medium - 13 GB 3,250 GB 1,625 GB 1,079 GB 806 GB 650 GB 533 GB
redis-highcpu-medium - 13 GB 3,250 GB 1,625 GB 1,079 GB 806 GB 650 GB 533 GB
redis-standard-large - 26 GB 6,500 GB 3,250 GB 2,158 GB 1,612 GB 1,300 GB 1,066 GB
redis-highmem-xlarge - 58 GB 14,500 GB 7,250 GB 4,814 GB 3,596 GB 2,900 GB 2,378 GB
redis-highmem-2xlarge - 110 GB 27,500 GB 13,750 GB 9,130 GB 6,820 GB 5,500 GB 4,510 GB

Rendimiento

El uso de la herramienta de comparativa de OSS memtier en la región us-central1 produjo entre 120,000 y 130,000 operaciones por segundo por nodo de 2 CPU virtuales (redis-standard-small y redis-highmem-medium) con latencia de microsegundos y un tamaño de datos de 1 KiB.

Te recomendamos que realices tu propia comparativa con cargas de trabajo reales o sintéticas que se parezcan a tu tráfico de producción. Además, te recomendamos que dimensiones tus clústeres con un búfer (o "espacio libre") para los aumentos repentinos de carga de trabajo o el tráfico inesperado. Para obtener más orientación, consulta Prácticas recomendadas para Memorystore for Redis Cluster.

Extremos del clúster

En esta sección, se explican los dos extremos que tiene cada instancia.

Extremo de detección

Cada instancia tiene un extremo de detección al que se conecta tu cliente. Es una combinación de una dirección IP y un número de puerto. Si deseas obtener instrucciones para encontrar el extremo de detección de tu clúster, consulta Cómo ver el extremo de detección de tu clúster.

Tu cliente también lo usa para la detección de nodos. Tu cliente usa el extremo de detección para recuperar la topología del clúster de tu instancia para iniciar clientes de clúster de OSS Redis y mantenerlos actualizados en estado estable. La topología del clúster resultante proporciona extremos de nodos de Redis (combinaciones de IP y puerto) para que el cliente del clúster de Redis los almacene en caché en la memoria. Luego, tu cliente se encarga de las actualizaciones y redireccionamientos automáticamente sin que se requiera ningún otro cambio en la aplicación. Para obtener información sobre el comportamiento de detección de clientes y las prácticas recomendadas, consulta Detección de clientes.

El extremo de detección tiene alta disponibilidad porque está respaldado por varios nodos de Redis en varias zonas para entregar la topología del clúster. La entrega de la topología a través del extremo es sólida, incluso cuando se enfrenta a fallas o actualizaciones de nodos de backend.

Tu extremo de detección tiene el siguiente comportamiento:

  1. El extremo de detección de tu clúster permanece sin cambios durante todo el ciclo de vida de la instancia del clúster, incluso durante el mantenimiento o cualquier otra acción que realices, como el escalamiento vertical o horizontal, o el cambio de recuentos de réplicas.

  2. Los extremos de los nodos de Redis pueden cambiar y reciclarse a medida que se agregan y quitan nodos con el tiempo. Lo ideal es que uses un cliente de clúster de Redis que pueda controlar estos cambios automáticamente a través de actualizaciones y redireccionamientos de topología. Puedes encontrar ejemplos de clientes de clúster de Redis en Muestras de código de la biblioteca cliente. Tu aplicación no debe tener dependencias ni suposiciones de que los extremos de los nodos permanecerán sin cambios para un clúster determinado.

Extremo de datos

Además del extremo de detección, cada clúster tiene un extremo de datos. Este extremo está reservado para que Memorystore for Redis Cluster lo use para conectar tu cliente a los nodos del clúster. Por lo tanto, no te conectes directamente a este extremo.