Grails: плагин rabbitmq против плагина rabbitmq-tasks против API ядра событий ядра платформы
Ранее я задавал вопрос о задержке обработки события: Grails не основанная на времени очередь. Я начал использовать rabbitmq-plugin: http://grails.org/plugin/rabbitmq, и все прошло замечательно.
Теперь я вижу, что у меня есть несколько новых опций, и я всегда стараюсь связываться с хорошей вещью. Существует новый плагин, плагин rabbitmq-tasks, и я не думаю, что полностью понимаю новые функции, которые он привносит в таблицу: http://grails.org/plugin/rabbitmq-tasks. Кроме того, новый плагин платформы Grails Core, похоже, имеет совершенно другой подход, вращающийся вокруг grails.events
http://grailsrocks.github.com/grails-platform-core/guide/events.html.
Каковы некоторые из важных различий между тремя инструментами для обработки задач? Какие соображения могут быть важны при выборе одного над другим?
1 ответ
Я также пробую Event Bus платформы-ядра. На самом деле это хороший вопрос, и я думаю, что вы уже нашли ответ.
Поправьте меня если я ошибаюсь!
Если я правильно понимаю шину событий платформы-ядра, различия в том, что шина событий работает только локально и делегирует событие слушателю на том же хосте. RabbitMQ - это система обмена сообщениями. Таким образом, у вас есть сервер, который ставит в очередь сообщения и делегирует их слушателю, даже если он находится на другом хосте. Для распределенных систем удобнее использовать RabbitMQ, потому что с Event Bus он не будет работать. Вы будете использовать шину событий для разъединения ваших модулей / компонентов.