2016-06-23 29 views
13

Sono un principiante con Redis e Kafka. I redis possono essere utilizzati come pub-sub in tempo reale. Comunque Kafka è anche in tempo reale pub-sub. Sono confuso quale usare quando. Qualsiasi caso d'uso sarebbe di grande aiuto! Grazie!Differenza tra Redis e kafka

risposta

29

Redis pub-sub è per lo più come un incendio e dimentica il sistema in cui tutti i messaggi che hai prodotto verranno consegnati a tutti i consumatori in una sola volta e il dato non viene tenuto dove. Hai limiti in memoria rispetto ai redis. Anche il numero di produttori e consumatori può influenzare la performance in Redis.

Kafka invece è un registro distribuito ad alta velocità che può essere utilizzato come una coda. Qui ogni numero di utenti può produrre e i consumatori possono consumare in qualsiasi momento. Fornisce inoltre la persistenza per i messaggi inviati attraverso la coda.

Prendere finale:

Utilizzare Redis:

  1. Se si desidera il fuoco e dimenticare tipo di sistema, in cui tutti i messaggi che si producono vengono consegnati immediatamente ai consumatori.
  2. Se la velocità è più preoccupante.
  3. Se si può vivere con la perdita di dati.
  4. Se non si desidera che il sistema contenga il messaggio inviato.
  5. La quantità di dati che verrà distribuita non è enorme.

Uso Kafka:

  1. Se si vuole affidabilità.
  2. Se si desidera che il sistema disponga di una copia dei messaggi che è stata inviata anche dopo il consumo.
  3. Se non riesci a vivere con la perdita di dati.
  4. Se la velocità non è una grande preoccupazione.
  5. la dimensione dei dati è enorme