Redis
 sql >> Database >  >> NoSQL >> Redis

Redis Vs RabbitMQ come broker di dati/sistema di messaggistica tra Logstash ed elasticsearch

Dopo aver valutato sia Redis che RabbitMQ, ho scelto RabbitMQ come nostro broker per i seguenti motivi:

  1. RabbitMQ ti consente di utilizzare un livello di sicurezza integrato utilizzando i certificati SSL per crittografare i dati che stai inviando al broker e significa che nessuno annuserà i tuoi dati e avrà accesso ai tuoi dati organizzativi vitali.
  2. RabbitMQ è un prodotto molto stabile in grado di gestire grandi quantità di eventi al secondo e molte connessioni senza essere il collo di bottiglia.
  3. Nella nostra organizzazione abbiamo già utilizzato RabbitMQ e avevamo una buona conoscenza interna dell'utilizzo e un'integrazione già preparata con lo chef.

Per quanto riguarda il ridimensionamento, RabbitMQ ha un'implementazione cluster integrata che puoi utilizzare oltre a un sistema di bilanciamento del carico per implementare un ambiente broker ridondante.

Il mio cluster RabbitMQ è Attivo Attivo o Attivo Passivo?

Ora al punto più debole dell'utilizzo di RabbitMQ:

  1. la maggior parte degli spedizionieri Logstash non supporta RabbitMQ ma d'altra parte, il migliore, chiamato Beaver, ha un'implementazione che invierà i dati a RabbitMQ senza problemi.
  2. L'implementazione che Beaver ha con RabbitMQ nella sua versione attuale è un po' lenta in termini di prestazioni (per i miei scopi) e non è stata in grado di gestire la velocità di 3000 eventi/sec da un server e di tanto in tanto il servizio si è bloccato.
  3. In questo momento sto lavorando a una soluzione che risolverà il problema delle prestazioni per RabbitMQ e renderà più stabile lo spedizioniere di Beaver. La prima soluzione è aggiungere più processi che possono essere eseguiti contemporaneamente e daranno più potenza al mittente. La seconda soluzione è cambiare Beaver per inviare dati a RabbitMQ in modo asincrono che teoricamente dovrebbe essere molto più veloce. Spero di finire di implementare entrambe le soluzioni entro la fine di questa settimana.

Puoi seguire il problema qui:https://github.com/josegonzalez/python-beaver/issues/323

E controlla la richiesta pull qui:https://github.com/josegonzalez/python-beaver/pull/324

Se hai altre domande sentiti libero di lasciare un commento.