sql >> Databasteknik >  >> NoSQL >> Redis

Redis Vs RabbitMQ som ett datamäklare/meddelandesystem mellan Logstash och elasticsearch

Efter att ha utvärderat både Redis och RabbitMQ valde jag RabbitMQ som vår mäklare av följande skäl:

  1. RabbitMQ låter dig använda ett inbyggt säkerhetslager genom att använda SSL-certifikat för att kryptera data som du skickar till mäklaren och det betyder att ingen kommer att sniffa din data och ha tillgång till dina viktiga organisationsdata.
  2. RabbitMQ är en mycket stabil produkt som kan hantera stora mängder händelser per sekund och många anslutningar utan att vara flaskhalsen.
  3. I vår organisation använde vi redan RabbitMQ och hade god intern kunskap om att använda det och en redan förberedd integration med kocken.

När det gäller skalning har RabbitMQ en inbyggd klusterimplementering som du kan använda förutom en lastbalanserare för att implementera en redundant mäklarmiljö.

Är mitt RabbitMQ-kluster Active Active eller Active Passive?

Nu till den svagare punkten med att använda RabbitMQ:

  1. de flesta Logstash-avsändare stöder inte RabbitMQ men å andra sidan har den bästa, som heter Beaver, en implementering som skickar data till RabbitMQ utan problem.
  2. Implementeringen som Beaver har med RabbitMQ i sin nuvarande version är lite långsam på prestanda (för mina syften) och kunde inte hantera hastigheten på 3000 händelser/sek från en server och då och då kraschade tjänsten.
  3. Just nu arbetar jag på en fix som kommer att lösa prestandaproblemet för RabbitMQ och göra Beaver-avsändaren mer stabil. Den första lösningen är att lägga till fler processer som kan köras samtidigt och som kommer att ge avsändaren mer kraft. Den andra lösningen är att ändra Beaver för att skicka data till RabbitMQ asynkront, vilket teoretiskt sett borde vara mycket snabbare. Jag hoppas att jag kommer att slutföra implementeringen av båda lösningarna i slutet av denna vecka.

Du kan följa problemet här:https://github.com/josegonzalez/python-beaver/issues/323

Och kolla pull-begäran här:https://github.com/josegonzalez/python-beaver/pull/324

Om du har fler frågor, lämna gärna en kommentar.



  1. Operativ databassäkerhet – Del 1

  2. "Fält krävde en böna av typ som inte kunde hittas." fel fjäder vilsamt API med mongodb

  3. hur kan jag ansluta till en fjärransluten mongo-server från Mac OS-terminalen

  4. Vanliga MongoDB-intervjufrågor