Especificación de clústeres y nodos

En esta página se describen las especificaciones de los clústeres y los nodos de las instancias de Memorystore for Redis Cluster. Para obtener instrucciones sobre cómo crear una instancia, consulta el artículo Crear instancias.

Elegir 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 ofrece un rendimiento variable y no tiene ningún acuerdo de nivel de servicio, por lo que no es adecuado para cargas de trabajo de producción.

El tipo de nodo redis-standard-small te permite aprovisionar clústeres pequeños y aumentar su tamaño en incrementos más pequeños con costes 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 mayor número total de vCPUs. Esto ofrece una mejor relación calidad-precio que 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.

Solo recomendamos elegir el tipo de nodo redis-highmem-xlarge si necesitas más capacidad de clúster de la que ofrece redis-highmem-medium. Aunque el tamaño del tipo de nodo redis-highmem-xlarge es cuatro veces mayor que el del tipo redis-highmem-medium, el rendimiento no es cuatro veces mayor, ya que el rendimiento de Redis no se escala de forma lineal cuando se añaden vCPUs a nodos cada vez más grandes (escalado vertical). En su lugar, para mejorar el rendimiento de los precios, debes ampliar la capacidad añadiendo más nodos a un clúster.

Especificación del tipo de nodo

La capacidad y las características de los nodos dependen del tipo de nodo que elijas de los cuatro disponibles:

Capacidad del espacio de claves y sobrecarga reservada

Tipo de nodo Capacidad predeterminada del espacio de claves de escritura Capacidad total de los nodos
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-highmem-xlarge 46,4 GB 58 GB

Memorystore reserva automáticamente una parte de la capacidad de tu instancia para evitar errores de falta de memoria (OOM). De esta forma, la lectura y la escritura de claves se realizan sin problemas. Los límites de memoria y los detalles del almacenamiento son los siguientes:

  • Personalizar el almacenamiento: aunque te recomendamos que utilices la configuración predeterminada, puedes ajustar la cantidad de almacenamiento reservado mediante la configuración maxmemory. Para obtener información sobre maxmemory, consulta Configuraciones de instancias admitidas.

  • ¿Cuánto almacenamiento obtienes? Consulta la columna Capacidad predeterminada del espacio de claves de escritura de la tabla anterior. Aquí se muestra la cantidad de almacenamiento disponible para tus claves de forma predeterminada.

  • Maximizar el almacenamiento: si quieres obtener el máximo almacenamiento posible, en la columna Capacidad total de los nodos se muestra el límite de almacenamiento cuando configuras maxmemory en 100%. Sin embargo, no recomiendes elegir un valor de maxmemory superior al ajuste predeterminado.

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

Características de los nodos

Tipo de nodo Número de vCPUs SLA ofrecido Número máximo de clientes Memoria máxima para clientes (configuración maxmemory-clients)
redis-shared-core-nano 0,5 No 5000 12 %
redis-standard-small 2 16.000 (predeterminado). El valor máximo es 32.000 7 %
redis-highmem-medium 2 32.000 (valor predeterminado). El valor máximo es 64.000 7 %
redis-highmem-xlarge 8 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 requieren muchos recursos, selecciona un tipo de nodo con un número de vCPUs más alto (por ejemplo, redis-highmem-xlarge). Si tu clúster realiza tareas menos exigentes, selecciona un tipo de nodo con un número de vCPUs más bajo (por ejemplo, redis-highmem-medium).

Escalar una instancia

Al crear una instancia de Memorystore para Redis Cluster, debes elegir un tipo de nodo para la instancia y especificar el número de particiones que tendrá. Después de crear la instancia y a medida que cambien sus necesidades de capacidad, es posible que tengas que escalarla de las siguientes formas:

  • Cambia el número de particiones de tu instancia. Esto se conoce como escalado horizontal. Para escalar una instancia horizontalmente, puedes hacer lo siguiente:
    • Añade fragmentos a la instancia. Esto significa que se está ampliando la instancia.
    • Elimina fragmentos de la instancia. Esto significa que la instancia se está escalando hacia dentro.
  • Cambia el tipo de nodo de tu instancia. Esto se denomina escalado vertical. Para escalar una instancia verticalmente, cambia el tipo de nodo de la instancia a uno de los siguientes tipos de nodo:
    • Cambia a un tipo de nodo más grande. Esto significa que la instancia se está ampliando.
    • Cambia a un tipo de nodo más pequeño. Esto reduce la escala de la instancia.

Especificación del clúster

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

Capacidad mínima de escritura

La capacidad de escritura es la cantidad de almacenamiento disponible para escribir claves. Es igual al tamaño de un nodo de instancia. Por lo tanto, en función del tipo de nodo, la capacidad mínima de escritura es de 1,4 GB, 6,5 GB, 13 GB o 58 GB. La capacidad de escritura mínima no se ve afectada por el número de réplicas que elijas.

Capacidad máxima de escritura

Tipo y tamaño de nodo Capacidad máxima con una forma de clúster de 250 nodos principales y 0 réplicas por nodo Capacidad máxima con una forma de clúster de 125 nodos principales y 1 réplica por nodo Capacidad máxima con una estructura de clúster de 83 nodos principales y 2 réplicas por nodo
redis-shared-core-nano - 1,4 GB 350 GB 175 GB 116,2 GB
redis-standard-small - 6,5 GB 1625 GB 812,5 GB 539,5 GB
redis-highmem-medium - 13 GB 3250 GB 1625 GB 1079 GB
redis-highmem-xlarge - 58 GB 14.500 GB 7250 GB 4814 GB

Rendimiento

Al usar la herramienta de comparativas de memtier de OSS en la región us-central1, se obtuvieron entre 120.000 y 130.000 operaciones por segundo por cada nodo de 2 vCPUs (redis-standard-small y redis-highmem-medium) con una latencia de microsegundos y un tamaño de datos de 1 KiB.

Te recomendamos que hagas tus propias pruebas de rendimiento con cargas de trabajo reales o sintéticas que se parezcan al tráfico de producción. Además, le recomendamos que dimensione sus clústeres con un margen de seguridad para picos de carga de trabajo o tráfico inesperado. Para obtener más información, consulta las prácticas recomendadas para Memorystore for Redis Cluster.

Endpoints de clúster

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

Punto de conexión de descubrimiento

Cada instancia tiene un endpoint de descubrimiento al que se conecta tu cliente. Es una combinación de una dirección IP y un número de puerto. Para obtener instrucciones sobre cómo encontrar el endpoint de descubrimiento de tu clúster, consulta Ver el endpoint de descubrimiento de un clúster.

Tu cliente también lo usa para detectar nodos. Tu cliente usa el endpoint de descubrimiento para obtener la topología del clúster de tu instancia, inicializar los clientes del clúster de Redis de software libre y mantenerlos actualizados en estado estable. La topología del clúster resultante proporciona los endpoints de los nodos de Redis (combinaciones de IP y puerto) que el cliente del clúster de Redis almacena en caché en la memoria. A continuación, el cliente se encarga de las actualizaciones y las redirecciones automáticamente, sin que sea necesario cambiar ninguna otra aplicación. Para obtener información sobre el comportamiento de descubrimiento de clientes y las prácticas recomendadas, consulta Descubrimiento de clientes.

El endpoint de descubrimiento tiene una alta disponibilidad porque se basa en varios nodos de Redis en varias zonas para proporcionar la topología del clúster. La topología de servicio a través del endpoint es sólida incluso cuando se producen fallos o actualizaciones de nodos de backend.

Tu endpoint de descubrimiento se comporta de la siguiente manera:

  1. El endpoint de descubrimiento de tu clúster no cambia durante el ciclo de vida de la instancia del clúster, ni siquiera durante el mantenimiento ni por ninguna otra acción que realices, como aumentar o reducir la escala o cambiar el número de réplicas.

  2. Los endpoints de los nodos de Redis pueden cambiar y reciclarse a medida que se añaden y se eliminan nodos con el tiempo. Lo ideal es que uses un cliente de clúster de Redis que pueda gestionar estos cambios automáticamente mediante actualizaciones de topología y redirecciones. Puedes consultar ejemplos de clientes de clúster de Redis en Ejemplos de código de bibliotecas de cliente. Tu aplicación no debe tener dependencias ni suposiciones de que los endpoints de los nodos no cambiarán en un clúster determinado.

Endpoint de datos

Cada instancia también tiene un endpoint de datos de Private Service Connect que Memorystore para Redis Cluster usa para la conexión de clientes. Sin embargo, no debes conectarte directamente a él. Memorystore for Redis Cluster usa este endpoint para conectar tu cliente a los nodos del clúster.