Для компании, в которой я работаю, мы хотели бы использовать RabbitMQ в качестве нашей основной шины сообщений. Идея, которую мы имеем, заключается в том, что каждое отдельное приложение использует свой собственный vhost для внутренней связи и что через плагин для лопаты или федерации мы могли бы предоставить общий доступ к определенным типам событий для нескольких vhosts (возможно, даже нескольких машин (некластеризованных)), Мы выбрали приложение на vhost для ветки внутренней связи от публичных событий и обеспечения безопасности для каждого приложения.
Основываясь на информации, опубликованной на веб-сайте RabbitMQ, я не понимаю, когда мне нужно выбирать для лопат или когда у меня есть для выбора плагина федерации.
RabbitMQ имеет следующее объяснение, когда использовать что:
Как правило, вы должны использовать лопату для связи брокеров через Интернет, когда вам нужно больше контроля, чем обеспечивает федерация.
Что такое мелкий контроль зерна в лопатах, которые я пропускаю, когда выбираю для федерации?
В данный момент я думаю, что предпочел бы плагин федерации, потому что я мог бы автоматизировать межобъектную связь через REST API, предоставляемый плагином федерации. В случае лопат мне нужно будет изменить конфигурацию лопаты и перезагрузить экземпляр RabbitMQ каждый раз, когда мы хотим поделиться событием между vhosts. Правильны ли мои мысли об этом?
В настоящее время мы запускаем RMQ для Windows с клиентами, подключающимися из .NET. В ближайшее время к ним присоединятся клиенты Java/Perl/PHP.
Обобщение моих вопросов:
- Что такое мелкозернистый контроль в совках, которых я пропускаю, когда я выбрать для федерации?
- Правильно ли, что единственный способ изменить inter-vhost-communication, когда я использую лопаты, - это изменить файл конфигурации и перезагрузить экземпляр?
- Имеет ли смысл настройка (vhost для приложения) или я полностью теряю точку?