Cluster con partizionamento orizzontale cache OCI

OCI Cache supporta due modalità cluster, cluster con partizionamento orizzontale e cluster non con partizionamento orizzontale.

I cluster non partizionati vengono configurati con un nodo primario e uno o più nodi di replica, con i dati duplicati su ogni nodo. Con questa modalità cluster, i dati che è possibile memorizzare sono limitati dalla quantità di memoria configurata per il nodo, con un massimo di 500 GB di memoria per nodo.

I cluster con partizionamento orizzontale dispongono di tre o più partizioni, con i dati suddivisi tra le partizioni nel cluster, in modo che ogni partizione contenga parte dei dati. Ogni partizione è come un cluster, con un nodo primario e fino a quattro nodi di replica. I cluster con partizionamento orizzontale supportano scenari in cui è necessario memorizzare più dati rispetto al limite di 500 GB, poiché, sebbene questi cluster siano ancora limitati ai 500 GB di memoria per nodo, in realtà sono 500 GB per partizione.

I cluster con partizionamento orizzontale non dispongono di endpoint primari o di replica a livello di cluster, come fanno i cluster non con partizionamento orizzontale. Ogni partizione dispone invece di un endpoint privato a cui è possibile utilizzare durante la connessione al cluster. Per ulteriori informazioni, vedere Recupero dei dettagli di connessione di un cluster con partizionamento orizzontale della cache OCI.

Limitazioni e considerazioni per i cluster con partizionamento orizzontale

Qualsiasi libreria client Valkey e Redis utilizzata per connettersi a un cluster con partizionamento orizzontale deve supportare Redis CLUSTER MODE con il supporto del nome host.

  • Il numero di nodi configurati per ogni partizione deve essere compreso tra 1 e 5, con un massimo di 100 nodi per cluster.
  • Il numero di partizioni per cluster deve essere un numero non uniforme compreso tra 3 e 99, anche se il numero massimo di partizioni dipende dal numero di nodi configurati per ogni partizione.
  • La quantità di memoria per nodo deve essere compresa tra 2 e 500 GB.
  • Qualsiasi libreria client Redis utilizzata per connettersi a un cluster con partizionamento orizzontale deve supportare Redis CLUSTER MODE con il supporto del nome host.
  • I cluster della cache OCI creati come cluster non partizionati non possono essere convertiti in cluster partizionati e viceversa. OCI Cache non fornisce un modo automatico per spostare i dati tra questi tipi di cluster.

Configurazione dei cluster con partizionamento orizzontale

Quando si configura un cluster con partizionamento orizzontale, è necessario prendere in considerazione i requisiti che consentono di decidere l'equilibrio tra il numero di partizioni, il numero di nodi per partizione e la quantità di memoria per nodo. L'aumento del numero di nodi per partizione è una buona strategia per aumentare la capacità di lettura di un cluster, ma non aiuta con lo storage di un cluster, a meno che non si aumenti la quantità di memoria per nodo. Inoltre, non aiuta con la capacità di scrittura di un cluster. Per influire sulla capacità di scrittura di un cluster, aumentare il numero di partizioni.

Ad esempio, confrontare i due scenari riportati di seguito.

  1. Il cluster deve memorizzare una grande quantità di dati, ma non gestire una grande quantità di scritture.
  2. Il cluster deve gestire molte scritture, ma non memorizzare una grande quantità di dati.

Nello scenario 1, è necessario configurare il cluster in modo che abbia un numero inferiore di partizioni, con più memoria per nodo, rispetto allo scenario 2. Per lo scenario 2, è necessario configurare il cluster in modo che abbia un numero maggiore di partizioni, con meno memoria per nodo.

Endpoint ricerca automatica

La funzionalità dell'endpoint di ricerca automatica è progettata per i cluster con partizionamento orizzontale della cache OCI, fornendo un endpoint singolo e stabile per consentire alle applicazioni client di connettersi al cluster della cache con partizionamento orizzontale. Questo endpoint astrae la complessità della gestione di diversi nodi delle partizioni, consentendo alle applicazioni client di interagire con la cache OCI senza dover essere a conoscenza della topologia delle partizioni di base.

Ogni istanza di cluster dispone di un endpoint di ricerca automatica univoco, costituito da una combinazione di un indirizzo IP e un numero di porta. L'endpoint di ricerca automatica funge da punto di accesso primario per le connessioni client ed è fondamentale per abilitare la ricerca automatica dei nodi senza interruzioni e la gestione della topologia del cluster.

Per trovare l'endpoint di ricerca automatica del cluster, vedere Recupero dei dettagli di un cluster cache OCI.
Nota

OCI Cache fornisce l'endpoint di ricerca automatica solo per i cluster con partizionamento orizzontale appena creati; non aggiorna automaticamente i cluster con partizionamento orizzontale esistenti per includere un endpoint di ricerca automatica.

Uso dell'endpoint di ricerca automatica

Per connettere il client Redis o Valkey (ad esempio Lettuce o Redisson), configurarlo in modo che utilizzi il nome dominio completamente qualificato (FQDN) dell'endpoint di ricerca automatica. Questo endpoint viene risolto in un indirizzo IP privato all'interno della rete cloud virtuale (VCN) e instrada le richieste a un nodo cluster.

Dopo la connessione, il client può ottenere la topologia cluster eseguendo i comandi Redis standard, ad esempio #CLUSTER SLOTS o #CLUSTER NODES. Questi comandi restituiscono informazioni quali gli ID nodo, i ruoli, i nomi FQDN o gli indirizzi IP e gli intervalli di slot.

Successivamente, il client può eseguire le operazioni riportate di seguito.

  • Stabilire connessioni dirette ai nodi pertinenti utilizzando i relativi nomi FQDN o indirizzi IP.
  • Eseguire i comandi Redis o Valkey (ad esempio, GET, SET).
  • Mantieni l'instradamento aggiornato aggiornando periodicamente la topologia attraverso l'endpoint di ricerca automatica.

La maggior parte delle procedure per l'utilizzo di cluster con partizionamento orizzontale sono uguali a quelle per l'utilizzo di cluster non con partizionamento orizzontale, tuttavia alcune procedure sono diverse. Per i dettagli specifici dei cluster con partizionamento orizzontale, vedere: