Clusters con particiones horizontales de OCI Cache
OCI Cache soporta dos modos de cluster, clusters con particiones horizontales y clusters sin particiones horizontales.
Los clusters sin particiones horizontales se configuran con un nodo principal y uno o más nodos de réplica, con los datos duplicados en cada nodo. Con este modo de cluster, los datos que puede almacenar están limitados por la cantidad de memoria configurada para el nodo, con un máximo de 500 GB de memoria por nodo.
Los clusters con particiones horizontales tienen tres o más particiones horizontales, con los datos divididos en las particiones horizontales del cluster, de modo que cada partición horizontal contiene parte de los datos. Cada partición horizontal es como un cluster, con un nodo principal y hasta cuatro nodos de réplica. Los clusters con particiones horizontales soportan escenarios en los que necesita almacenar más datos que el límite de 500 GB, porque si bien estos clusters siguen estando limitados a los 500 GB de memoria por nodo, en realidad son 500 GB por partición horizontal.
Los clusters con particiones horizontales no tienen puntos finales primarios o de réplica en el nivel de cluster, como lo hacen los clusters sin particiones horizontales. En su lugar, cada partición horizontal tiene un punto final privado al que puede utilizar al conectarse al cluster. Consulte Obtención de detalles de conexión de un cluster con particiones horizontales de OCI Cache para obtener más información.
Limitaciones y consideraciones para clusters con particiones horizontales
Cualquier biblioteca de cliente Valkey y Redis que utilice para conectarse a un cluster con particiones horizontales debe admitir Redis CLUSTER MODE
con soporte de nombre de host.
- El número de nodos configurados por partición horizontal debe estar entre 1 y 5, con un máximo de 100 nodos por cluster.
- El número de particiones horizontales por cluster debe ser un número desigual de 3 a 99, aunque el número máximo de particiones horizontales depende del número de nodos configurados por partición horizontal.
- La cantidad de memoria por nodo debe estar entre 2 y 500 GB.
- Cualquier biblioteca de cliente de Redis que utilice para conectarse a un cluster con particiones horizontales debe admitir Redis
CLUSTER MODE
con soporte de nombre de host. - Los clusters de caché de OCI creados como clusters sin particiones horizontales no se pueden convertir en clusters con particiones horizontales y viceversa. OCI Cache no proporciona una forma automatizada de mover datos entre estos tipos de cluster.
Configuración de clusters con particiones horizontales
Al configurar un cluster con particiones horizontales, debe tener en cuenta los requisitos para ayudarle a decidir el equilibrio entre el número de particiones horizontales, el número de nodos por partición horizontal y la cantidad de memoria por nodo. Aumentar el número de nodos por partición horizontal es una buena estrategia para aumentar la capacidad de lectura de un cluster, pero no ayuda con el almacenamiento de un cluster, a menos que aumente la cantidad de memoria por nodo. Tampoco ayuda con la capacidad de escritura de un cluster. Para afectar a la capacidad de escritura de un cluster, aumente el número de particiones horizontales.
Por ejemplo, compare los dos escenarios siguientes:
- El cluster debe almacenar una gran cantidad de datos, pero no manejar una gran cantidad de escrituras.
- El cluster debe manejar muchas escrituras, pero no almacenar una gran cantidad de datos.
En el escenario 1, debe configurar el cluster para que tenga menos particiones horizontales, con más memoria por nodo, en comparación con el escenario 2. Para el escenario 2, debe configurar el cluster para que tenga un mayor número de particiones horizontales, con menos memoria por nodo.
Punto final de detección
La capacidad de punto final de detección está diseñada para clusters con particiones horizontales de OCI Cache, lo que proporciona un punto final único y estable para que las aplicaciones cliente se conecten al cluster de caché con particiones horizontales. Este punto final abstrae la complejidad de gestionar varios nodos de partición horizontal, lo que permite a las aplicaciones cliente interactuar con OCI Cache sin necesidad de tener en cuenta la topología de partición horizontal subyacente.
Cada instancia de cluster cuenta con un punto final de detección único, que consta de una combinación de una dirección IP y un número de puerto. El punto final de detección sirve como punto de entrada principal para las conexiones de cliente y es crucial para permitir la detección perfecta de nodos y la gestión de la topología del cluster.
OCI Cache proporciona el punto final de detección solo para clusters con particiones horizontales recién creados; no actualiza automáticamente los clusters con particiones horizontales existentes para incluir un punto final de detección.
Uso del punto final de detección
Para conectar su cliente Redis o Valkey (como Lettuce o Redisson), configúrelo para que utilice el nombre de dominio completo (FQDN) del punto final de detección. Este punto final se resuelve en una dirección IP privada dentro de la red virtual en la nube (VCN) y enruta las solicitudes a un nodo de cluster.
Después de conectarse, el cliente puede obtener la topología del cluster ejecutando comandos de Redis estándar, como #CLUSTER SLOTS
o #CLUSTER NODES
. Estos comandos devuelven información que incluye ID de nodo, roles, FQDN o direcciones IP y rangos de ranuras.
Después de esto, el cliente puede realizar lo siguiente:
- Establezca conexiones directas a los nodos relevantes mediante sus FQDN o direcciones IP.
- Ejecute los comandos Redis o Valkey (por ejemplo,
GET
,SET
). - Para mantener el enrutamiento actualizado, actualice periódicamente la topología mediante el punto final de detección.
La mayoría de los procedimientos para trabajar con clusters con particiones horizontales son los mismos que para trabajar con clusters sin particiones horizontales; sin embargo, algunos procedimientos son diferentes. Consulte lo siguiente para obtener detalles específicos de los clusters con particiones horizontales: