След като оцених както Redis, така и RabbitMQ, избрах RabbitMQ за наш брокер по следните причини:
- RabbitMQ ви позволява да използвате вграден слой на сигурност, като използвате SSL сертификати за криптиране на данните, които изпращате до брокера, и това означава, че никой няма да подуши вашите данни и да има достъп до жизненоважните ви организационни данни.
- RabbitMQ е много стабилен продукт, който може да обработва големи количества събития в секунда и много връзки, без да е гърлото на бутилката.
- В нашата организация вече използвахме RabbitMQ и имахме добри вътрешни познания за използването му и вече подготвена интеграция с главния готвач.
По отношение на мащабирането, RabbitMQ има вградена реализация на клъстер, която можете да използвате в допълнение към балансьор на натоварване, за да внедрите излишна среда на брокер.
Активен ли е моят RabbitMQ клъстер или активен пасивен?
Сега към по-слабата точка на използването на RabbitMQ:
- Повечето доставчици на Logstash не поддържат RabbitMQ, но от друга страна, най-добрият, на име Beaver, има реализация, която ще изпраща данни до RabbitMQ без проблем.
- Имплементацията, която Beaver има с RabbitMQ в текущата си версия, е малко бавна по отношение на производителността (за моите цели) и не успя да се справи със скоростта от 3000 събития/сек от един сървър и от време на време услугата се срива.
- В момента работя върху корекция, която ще реши проблема с производителността на RabbitMQ и ще направи изпращача на Beaver по-стабилен. Първото решение е да добавите повече процеси, които могат да се изпълняват едновременно и ще дадат повече власт на изпращача. Второто решение е да промените Beaver да изпраща данни до RabbitMQ асинхронно, което теоретично трябва да бъде много по-бързо. Надявам се, че ще завърша внедряването на двете решения до края на тази седмица.
Можете да проследите проблема тук:https://github.com/josegonzalez/python-beaver/issues/323
И проверете заявката за изтегляне тук:https://github.com/josegonzalez/python-beaver/pull/324
Ако имате още въпроси, не се колебайте да оставите коментар.