2013-02-18 13 views
19

Stavo leggendo la documentazione di Redis e sono molto interessato alla funzione di partizionamento.Redis Cluster - la produzione è pronta?

Redis documentation afferma quanto segue: negozio

Dati o cache? Il partizionamento quando si usa Redis ad un archivio dati o la cache è concettualmente lo stesso, tuttavia c'è un'enorme differenza. Mentre quando Redis viene usato come archivio dati devi essere sicuro che una chiave data si associ sempre alla stessa istanza, quando Redis viene usato come una cache se un dato nodo non è disponibile non è un grosso problema se noi iniziare a utilizzare un nodo diverso, alterando la mappa dell'istanza di chiave come desideriamo per migliorare la disponibilità del sistema (ovvero, la capacità del sistema di rispondere alle nostre domande). Le implementazioni di hashing coerenti sono spesso in grado di passare ad altri nodi se il nodo preferito per una chiave data non è disponibile. Allo stesso modo se si aggiunge un nuovo nodo, parte di le nuove chiavi inizieranno ad essere memorizzate sul nuovo nodo. Il concetto principale qui è il seguente: Se Redis viene utilizzato come cache scalare su e giù utilizzando l'hashing coerente è facile. Se Redis è usato come negozio, abbiamo bisogno di per prendere la mappa tra chiavi e nodi fissi, e un numero fisso di nodi . Altrimenti abbiamo bisogno di un sistema in grado di ribilanciare i tasti tra i nodi quando aggiungiamo o rimuoviamo nodi e attualmente solo il cluster Redis è in grado di farlo, ma Redis Cluster non è pronto per la produzione.

dall'ultima frase capisco che Redis cluster non è pronto per la produzione. Qualcuno sa se questa documentazione è aggiornata, o Redis Cluster è già pronto per la produzione?

+1

I documenti indicano il [specifica di cluster] (http://redis.io/topics/cluster-spec), che indicano che molte delle funzionalità non è ancora implementata o solo parzialmente implementato. Puoi considerare che non è pronta la produzione in questo momento ... – PinnyM

risposta

30

[Aggiornamento] Redis Cluster è stato rilasciato in Redis 3.0.0 on 1 Apr 2015.

Il cluster Redis è attualmente in fase di sviluppo. Vedi questo articolo da Redis author: Antirez.

Così posso mettere in pausa altri miglioramenti incrementali per un po 'per concentrarsi su Redis Cluster. Fondamentalmente il mio piano è di lavorare principalmente su cluster finché non raggiunge la qualità beta, e per la qualità beta intendo, qualcosa che gli utenti coraggiosi potrebbero mettere in produzione.

Redis Cluster sosterrà fino a~1000 nodes.

La prima uscita avrà le seguenti caratteristiche (estratti da antirez postale):

  1. partizione automatica dello spazio chiave.
  2. Hot resharding.
  3. Sono supportate solo le operazioni con una sola chiave (e sarà sempre in questo modo).

Ad oggi antirez sta lavorando al primo client cluster Redis (redis-rb-cluster) per essere utilizzato come implementazione di riferimento.


Aggiornerò questa risposta non appena Redis Cluster sarà pronto per la produzione.

[Aggiornamento] 28/03/2014 Redis Cluster è già utilizzato su cluster di grandi dimensioni in produzione (fonte: tweet antirez).

+0

1000 nodi è wow. Ma può supportare già dire 10 nodi? – Genry

+0

È fino a 1000 nodi, ovviamente gestirà un cluster di 10 nodi :). Ho aggiornato la mia risposta. – FGRibreau

+0

Intendo che ho capito che il lavoro è stato fatto adesso per avere l'opzione di scalare fino a 1000. Ma l'implementazione è già in grado di supportare fino a 10 nodi oggi? O l'implementazione non è ancora pronta? – Genry

1

Redis Cluster è inclusa nel Redis 3.0.0, rilasciato 1 Apr 2015.

- [Redis 3.0.0] Data di uscita: 1 Apr 2015

Cosa c'è di nuovo in Redis 3.0 rispetto al Redis 2.8?

  • Redis Cluster: un'implementazione distribuita di un sottoinsieme di Redis.

https://raw.githubusercontent.com/antirez/redis/3.0/00-RELEASENOTES

+0

Mentre questo link può rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia – abarisone

+0

Grazie, corretto. –