Especificación de instancias y nodos

En esta página, se describen las especificaciones de instancias y nodos de las instancias de Memorystore para Valkey. Si necesitas instrucciones para crear una instancia, consulta Crea instancias.

Cómo elegir un tipo de nodo

Todos los nodos de tu instancia usan el mismo tipo de nodo que elijas. El mejor tipo de nodo para tu instancia depende de tus requisitos de precio, rendimiento y capacidad del espacio de claves.

El tipo de nodo standard-small te permite aprovisionar instancias pequeñas y aumentar tu instancia en incrementos más pequeños a costos potencialmente más bajos que otros tipos de nodos. standard-small también ofrece la ventaja de distribuir tu espacio de claves en más nodos con un recuento total de CPU virtuales más alto. Esto ofrece una mejor relación precio-rendimiento en comparación con highmem-medium, siempre y cuando 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 highmem-xlarge si necesitas más capacidad de instancias que la que proporciona highmem-medium. Aunque el tipo de nodo highmem-xlarge es cuatro veces mayor que el tipo highmem-medium en tamaño, el rendimiento no es cuatro veces mayor, ya que el rendimiento de Valkey 7.2 no se escala de forma lineal cuando se agregan CPU virtuales a nodos cada vez más grandes (escalamiento hacia arriba). En su lugar, para obtener un mejor rendimiento de precio, debes escalar agregando más nodos a una instancia.

Especificación del tipo de nodo

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

Capacidad del espacio de claves y sobrecarga reservada

Tipo de nodo Capacidad predeterminada del espacio de claves de escritura Capacidad total del nodo
shared-core-nano 1.12 GB 1.4 GB
standard-small 5.2 GB 6.5 GB
highmem-medium 10.4 GB 13 GB
highmem-xlarge 46.4 GB 58 GB

Memorystore reserva automáticamente una parte de la capacidad de tu instancia para ayudar a evitar errores de memoria insuficiente (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 recomendamos usar la configuración predeterminada, tienes la opción de ajustar la cantidad de almacenamiento reservado con la configuración de maxmemory. Para obtener información sobre maxmemory, consulta Configuraciones de instancias compatibles.

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

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

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

Características del nodo

Tipo de nodo Recuento de CPU virtuales ANS ofrecido Clientes máximos Memoria máxima para los clientes (configuración de maxmemory-clients)
shared-core-nano 0.5 No 5,000 12%
standard-small 2 16,000 (predeterminado). El valor máximo es 32,000. 7%
highmem-medium 2 32,000 (predeterminado). El valor máximo es 64,000. 7%
highmem-xlarge 8 64,000 4%

Especificación de la instancia

En esta sección, se muestran las capacidades mínimas y máximas de las instancias según su forma, tipo de nodo y recuento de réplicas. Memorystore para Valkey solo admite instancias en el modo de clúster.

Capacidad mínima de escritura según la forma mínima de la instancia

Tipo y tamaño del nodo Capacidad mínima de escritura con la forma de instancia mínima de 3 nodos1
shared-core-nano: 1.4 GB 4.2 GB
standard-small: 6.5 GB 19.5 GB
highmem-medium: 13 GB 39 GB
highmem-xlarge: 58 GB 174 GB

1 La capacidad de escritura es la cantidad de almacenamiento disponible para escribir claves. La capacidad mínima de escritura no se ve afectada por la cantidad de réplicas que elijas.

Capacidad máxima de escritura según la forma de la instancia

Tipo y tamaño del nodo Capacidad máxima dada la forma de la instancia de 250 nodos principales y 0 réplicas por nodo Capacidad máxima dada la forma de la instancia de 125 nodos principales y 1 réplica por nodo Capacidad máxima dada la forma de instancia de 83 nodos principales y 2 réplicas por nodo
shared-core-nano: 1.4 GB 350 GB 175 GB 116.2 GB
standard-small: 6.5 GB 1,625 GB 812.5 GB 539.5 GB
highmem-medium: 13 GB 3,250 GB 1,625 GB 1,079 GB
highmem-xlarge: 58 GB 14,500 GB 7,250 GB 4,814 GB

Selecciona una forma de instancia de 1, 2 o 4 fragmentos.

Debido a su estado de versión preliminar, la creación de instancias con 1, 2 o 4 fragmentos tiene los siguientes requisitos y comportamiento:

  • Para tener 1, 2 o 4 fragmentos, debes crear la instancia con 1, 2 o 4 fragmentos.

  • Debes usar gcloud CLI para crear instancias que tengan 1, 2 o 4 fragmentos.

  • Las instancias creadas con 3, 5 o más fragmentos no se pueden escalar para tener 1, 2 o 4 fragmentos.

  • Las instancias creadas con 1, 2 o 4 fragmentos se encuentran en la fase de lanzamiento de la versión preliminar y están sujetas a las limitaciones de esta fase.

  • Las instancias creadas con 1, 2 o 4 fragmentos se pueden escalar a cualquier otra forma de instancia tantas veces como desees. Por ejemplo, puedes escalar una instancia de 4 fragmentos a 8 y volver a 4.

Rendimiento

El uso de la herramienta de comparativas de memtier de OSS en la región us-central1 generó entre 120,000 y 130,000 operaciones por segundo por cada 2 nodos de CPU virtual (standard-small y highmem-medium) con una latencia de microsegundos y un tamaño de datos de 1 KiB.

Te recomendamos que realices tus propias comparativas con cargas de trabajo reales o sintéticas que se parezcan a tu tráfico de producción. Además, te recomendamos que definas el tamaño de tus instancias con un búfer (o "margen") para los aumentos repentinos de la carga de trabajo o el tráfico inesperado. Para obtener más orientación, consulta las prácticas recomendadas.

Extremos de instancias

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

Extremo de detección

Cada instancia tiene un extremo 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 extremo de detección de tu instancia, consulta Cómo ver el extremo de detección de tu instancia.

Tu cliente también lo usa para el descubrimiento de nodos. Tu cliente usa el extremo de descubrimiento para recuperar la topología de nodos de tu instancia y activar clientes externos, y mantenerlos actualizados en estado estable. La topología de nodos resultante proporciona extremos de nodos (combinaciones de IP y puertos) que tu cliente externo almacenará en caché en la memoria. Luego, tu cliente se encarga de las actualizaciones y los redireccionamientos automáticamente, sin necesidad de realizar ningún otro cambio en la aplicación. Para obtener información sobre el comportamiento de descubrimiento de clientes y las prácticas recomendadas, consulta Descubrimiento de clientes.

El extremo de descubrimiento tiene alta disponibilidad porque está respaldado por varios nodos en varias zonas para entregar la topología del nodo. La entrega de topología a través del extremo es sólida incluso cuando se enfrentan fallas o actualizaciones de nodos del backend.

Tu extremo de descubrimiento tiene el siguiente comportamiento:

  1. El extremo de descubrimiento de tu instancia no se modifica durante el ciclo de vida de la instancia, incluso durante el mantenimiento o cualquier otra acción que realices, como aumentar o disminuir la escala o cambiar los recuentos de réplicas.

  2. Los extremos de los nodos pueden cambiar y reciclarse a medida que se agregan y quitan nodos con el tiempo. Lo ideal es que uses un cliente de terceros que pueda controlar estos cambios automáticamente a través de redireccionamientos y actualizaciones de topología. Puedes encontrar ejemplos de clientes externos en Muestras de código de bibliotecas cliente. Tu aplicación no debe tener dependencias ni suposiciones de que los extremos de los nodos no cambiarán para una instancia determinada.

Extremo de datos

Cada instancia también tiene un extremo de datos de Private Service Connect que usa Memorystore para Valkey para la conexión de clientes. No debes conectarte a este extremo directamente. Sin embargo, Memorystore para Valkey usa este extremo para conectar tu cliente a los nodos de tu instancia.