RabbitMQ - федеративные очереди против федерации обмена
Я настроил кластер кроликов и публикую сообщения в режиме разветвления каждый раз, когда что-то меняется в базе данных.
У меня есть выделенные очереди, связанные с этим обменом для некоторых из моих микросервисов, которые используют эти обновления, и я также изначально настроил выделенную очередь для внешнего клиента, чтобы они могли объединять ее со своей собственной инфраструктурой кролика и использовать копию каждого сообщения.
Теперь мне интересно, будет ли лучше подход федерации обмена вместо создания новой выделенной очереди для каждого нового внешнего потребителя, поскольку будет приходить все больше и больше пользователей.
Каковы плюсы и минусы?
Спасибо
1 ответ
Пока вы правильно управляете разрешениями, окончательное решение остается за вами. Вы можете сначала попробовать все варианты и найти то, что соответствует вашим актуальным потребностям.
Наличие локальной очереди может иметь свои плюсы и минусы: она позволяет конечному пользователю пережить некоторые перебои с инфраструктурой или сетевыми проблемами за счет вашего диска / памяти, однако вы можете ограничить длину и / или размер очереди.
Я бы посоветовал вам взглянуть на плагин Shovel и Dynamic shovels. С локальной очередью это может хорошо работать на сервере.
По сравнению с федерацией, shovel намного проще, например, он не синхронизирует контент между восходящим и нисходящим потоком, а просто надежно перемещает сообщение из одной очереди в другую. Пока вам не нужно то, что предоставляет федерация, лопата может быть хорошим выбором.
Кроме того, вы можете найти этот вопрос полезным (однако, он может быть немного устаревшим) - https://stackru.com/a/19357272.