我之前问了一个关于延迟处理事件的问题:Grails non time based queuing。我开始使用rabbitmq-plugin:http://grails.org/plugin/rabbitmq,事情很棒。
现在我看到我有一些新的选择,而且我总是试图搞好一件好事。有一个新的插件,rabbitmq-tasks插件,我不认为我完全理解它带来的新功能:http://grails.org/plugin/rabbitmq-tasks。此外,新的Grails平台核心插件似乎有一个完全不同的方法围绕grails.events
http://grailsrocks.github.com/grails-platform-core/guide/events.html。
处理任务的三个工具之间有哪些重要的区别?选择一个而不是另一个可能有什么重要的考虑因素?
答案 0 :(得分:0)
我也在尝试使用平台核心的事件总线。 这实际上是一个很好的问题,我认为你已经找到了答案。
如果我错了,请纠正我!
如果我正确理解platform-core的事件总线,不同之处在于事件总线只在本地工作,并且它将事件委托给同一主机上的侦听器。 RabbitMQ是一个消息传递框架。因此,您有一个服务器正在对消息进行排队,并将它们委托给侦听器,即使它位于另一个主机上也是如此。对于分布式系统,使用RabbitMQ更加舒适,因为使用Event Bus它将无法工作。 您将使用事件总线来分离您的模块/组件。