Na evaluatie van zowel Redis als RabbitMQ koos ik RabbitMQ als onze makelaar om de volgende redenen:
- RabbitMQ stelt u in staat om een ingebouwde beveiligingslaag te gebruiken door SSL-certificaten te gebruiken om de gegevens die u naar de broker verzendt te versleutelen en dit betekent dat niemand uw gegevens zal opsnuiven en toegang heeft tot uw essentiële organisatiegegevens. li>
- RabbitMQ is een zeer stabiel product dat grote hoeveelheden gebeurtenissen per seconde en veel verbindingen aankan zonder de bottleneck te zijn.
- In onze organisatie gebruikten we RabbitMQ al en hadden we goede interne kennis over het gebruik ervan en een reeds voorbereide integratie met chef.
Wat betreft schalen heeft RabbitMQ een ingebouwde clusterimplementatie die u naast een load balancer kunt gebruiken om een redundante brokeromgeving te implementeren.
Is mijn RabbitMQ-cluster actief actief of actief passief?
Nu naar het zwakkere punt van het gebruik van RabbitMQ:
- de meeste Logstash-verladers ondersteunen RabbitMQ niet, maar aan de andere kant heeft de beste, Beaver genaamd, een implementatie die zonder problemen gegevens naar RabbitMQ stuurt.
- De implementatie die Beaver heeft met RabbitMQ in zijn huidige versie is een beetje traag qua prestaties (voor mijn doeleinden) en was niet in staat om de snelheid van 3000 gebeurtenissen/sec van één server aan te kunnen en van tijd tot tijd crashte de service.
- Op dit moment werk ik aan een oplossing die het prestatieprobleem voor RabbitMQ oplost en de Beaver-shipper stabieler maakt. De eerste oplossing is om meer processen toe te voegen die tegelijkertijd kunnen draaien en de verlader meer macht zullen geven. De tweede oplossing is om Beaver te veranderen om gegevens asynchroon naar RabbitMQ te sturen, wat in theorie veel sneller zou moeten zijn. Ik hoop dat ik eind deze week klaar ben met de implementatie van beide oplossingen.
Je kunt het probleem hier volgen:https://github.com/josegonzalez/python-beaver/issues/323
En bekijk het pull-verzoek hier:https://github.com/josegonzalez/python-beaver/pull/324
Als je meer vragen hebt, laat dan gerust een reactie achter.