Po vyhodnocení obou Redis a RabbitMQ jsem si vybral RabbitMQ jako našeho brokera z následujících důvodů:
- RabbitMQ vám umožňuje používat vestavěnou vrstvu zabezpečení pomocí certifikátů SSL k šifrování dat, která posíláte brokerovi, a to znamená, že nikdo nebude čichat vaše data a nebude mít přístup k vašim důležitým organizačním datům. li>
- RabbitMQ je velmi stabilní produkt, který dokáže zpracovat velké množství událostí za sekundu a mnoho připojení, aniž by to byl problém.
- V naší organizaci jsme již používali RabbitMQ a měli dobré interní znalosti o jeho používání a již připravenou integraci s šéfkuchařem.
Pokud jde o škálování, RabbitMQ má vestavěnou implementaci clusteru, kterou můžete použít jako doplněk k vyrovnávání zátěže za účelem implementace prostředí redundantního zprostředkovatele.
Je můj cluster RabbitMQ aktivní aktivní nebo aktivní pasivní?
Nyní ke slabšímu bodu používání RabbitMQ:
- většina odesílatelů Logstash nepodporuje RabbitMQ, ale na druhou stranu ten nejlepší, jménem Beaver, má implementaci, která bez problémů odešle data do RabbitMQ.
- Implementace, kterou má Beaver s RabbitMQ ve své aktuální verzi, je z hlediska výkonu trochu pomalá (pro mé účely) a nebyla schopna zvládnout rychlost 3000 událostí/s z jednoho serveru a čas od času služba selhala.
- Právě teď pracuji na opravě, která vyřeší problém s výkonem pro RabbitMQ a učiní přepravce Beaver stabilnější. Prvním řešením je přidat více procesů, které mohou běžet současně a poskytnou odesílateli více výkonu. Druhým řešením je změnit Beaver tak, aby posílal data do RabbitMQ asynchronně, což by teoreticky mělo být mnohem rychlejší. Doufám, že implementaci obou řešení dokončím do konce tohoto týdne.
Problém můžete sledovat zde:https://github.com/josegonzalez/python-beaver/issues/323
A zkontrolujte žádost o stažení zde:https://github.com/josegonzalez/python-beaver/pull/324
Pokud máte další otázky, neváhejte zanechat komentář.