Tasto cluster Redis

Tasto cluster Redis

Redis Elevata disponibilità

Redis è un archivio dati a bassa latenza in memoria che fornisce le caratteristiche di frammenti e replica fuori dalla scatola. Garantisce l'alta disponibilità dell'istanza Redis ai suoi stakeholder. I seguenti due meccanismi sono stati utilizzati nel Redis Data Store per fornire un'alta disponibilità.

  • Ridimensionamento orizzontale con clustering
  • Redis Sentinel

Il ridimensionamento orizzontale si concentra sempre sull'aumento del numero di istanze invece di coltivare la potenza di calcolo per istanza. Il clustering Redis si basa sul ridimensionamento orizzontale, in cui un insieme di nodi si occupa del funzionamento continuo dell'istanza.

Cluster Redis

Il cluster Redis è costituito da più nodi in cui ciascun nodo contiene una gamma di slot di hash. Di solito, un cluster ha 16384 slot di hash. Ogni chiave Redis è associata a uno slot hash e per calcolare lo slot hash per chiave, Redis utilizza il CRC16 degli algoritmi Redis Key Modulo 16384. Si basa sulla tecnica Master-Replica in cui un nodo principale fallisce e la rispettiva replica si accende e continua a funzionare per conto del nodo fallito.

Supponiamo che il nodo X fallisca a causa di un errore di rete. Quindi il cluster Redis assegnerà il carico di lavoro del nodo X al nodo replica X1, che garantirà un funzionamento regolare. Inoltre, i cluster Redis possono dividere automaticamente i dati in arrivo su nodi diversi.

Comandi del cluster Redis

Sono disponibili diversi comandi da utilizzare contro i cluster Redis. Il comando cluster è un comando contenitore che ha diversi sottocombi. Puoi usare il grappolo aiuto Sottocomando per verificare l'elenco dei sottocomando disponibili con il loro utilizzo.

Aiuto del cluster

Come previsto, restituisce una risposta dell'array come mostrato da seguente.

Produzione:

In questa guida, ci concentreremo sul Tastiera sottocomando associato al comando del contenitore GRAPPOLO.

Comando Redis Keyslot

IL Tastiera Il comando viene utilizzato per verificare il valore dello slot hash per una determinata chiave Redis che restituisce un valore intero. Ogni volta che devi conoscere il nodo associato per una chiave specifica, questo comando sarà utile. Un altro caso d'uso sarebbe, testando i tuoi algoritmi di hashing confrontandoli con gli hash generati da questo comando e verificando la somiglianza. Inoltre, il Tastiera Il comando ha una complessità del tempo lineare.

Sintassi

Quanto segue è la sintassi per i Redis Tastiera sottocomando.

Cluster Keyslot Redis_key

Redis_key: Questo è l'identificatore univoco che utilizziamo nei Redis Data Stores per identificare qualsiasi valore memorizzato.

Questo comando restituisce il valore dello slot hash della chiave Redis specificata. Di solito, questo valore è un numero intero che va da 0 a 16383 per un determinato cluster.

Esempio 01 - Ispeziona il nodo slot e cluster hash per una determinata chiave

Creiamo un cluster Redis con sei nodi in cui tre di loro sono nodi principali e il resto sono repliche. Possiamo usare il Slot sottocomando per verificare come i nodi sono stati assegnati con gli slot hash.

slot di cluster

Come previsto, le informazioni sul cluster sono state emesse come seguenti.

Aggiungiamo un paio di chiavi al nostro cluster Redis, come mostrato nel seguente.

Imposta viaggiatore: 1: Posiziona la Francia
Set Traveller: 2: Place India

Ora possiamo usare il Tastiera subcomand per verificare quali sono gli slot hash che ogni chiave è stata assegnata.

Cluster Keyslot Traveller: 1: Place

L'output sembra il seguente.

Ha restituito l'intero 8963, il che significa che lo slot hash è 8963. Dovrebbe risiedere nell'intervallo 5461 - 10922, mostrato nella seguente uscita.

Il nodo principale è 6001 e questa chiave dovrebbe essere archiviata lì. La stessa procedura può essere seguita per identificare il nodo per Viaggiatore: 2: luogo chiave.

Esempio 02 - Gestione di più tasti dallo stesso nodo Redis

IL Tastiera Il comando supporta gli hashtag in cui l'algoritmo di hashing chiave del cluster Redis hashi solo i caratteri tra il E . Ogni volta che una chiave Redis segue lo schema menzionato, genererà lo slot hash in base ai caratteri all'interno delle parentesi graffe e gli altri personaggi non sono considerati. Con gli hashtag, possiamo costringere a memorizzare più chiavi nello stesso nodo, come mostrato nel seguente.

Creiamo un paio di coppie di valore chiave, come mostrato nel seguente.

Imposta l'utente: 1: carcolor comune_hash rosso
Imposta l'utente: 2: carcolor comune_hash blu

Come mostrato nell'esempio, i tasti contengono l'hashtag comune comune_hash. Quindi, entrambi i valori di slot hash generati dall'algoritmo di hashing del tasto cluster Redis saranno gli stessi per entrambe le chiavi. Controlliamo gli slot hash per entrambe le chiavi usando il Tastiera Sottocomando, come mostrato nel seguente.

User Cluster KeysLot: 2: Carcolor comune_hash
Cluster KeysLot Utente: 1: carcolor comune_hash

Come previsto, entrambi i comandi restituiscono lo stesso valore di slot hash, 8276, il che significa che i tasti sono archiviati nello stesso nodo. Secondo gli esempi sopra, puoi vedere quanto è utile il Tastiera Il comando è quando si tratta di cluster Redis.

Conclusione

Per riassumere, Redis supporta frammenti, replica e alta disponibilità mediante ridimensionamento orizzontale. Il ridimensionamento orizzontale è stato raggiunto usando i cluster Redis. Come discusso, ogni cluster è una raccolta di nodi in cui un nodo può contenere diversi slot di hash. Un cluster può contenere 16384 slot di hash massimo e circa 1000 nodi. Come citato, i cluster Redis seguono la tecnica Master-Replica in cui un nodo principale fallisce e la replica inizierà a funzionare per conto del nodo fallito. Redis ha un elenco di comandi da operare su cluster. IL Tastiera Il comando è uno di quelli che viene utilizzato per ottenere il valore dello slot hash per una chiave Redis specifica. Questo comando supporta anche gli hashtag.