2012-10-10 132 views
2

我之前問過一個關於延遲處理事件的問題:Grails non time based queuing。我開始使用rabbitmq-plugin:http://grails.org/plugin/rabbitmq,事情非常好。Grails:rabbitmq插件vs rabbitmq-tasks插件vs插件平臺核心事件總線API

現在我看到我有了一些新的選擇,並且我總是試圖惹惱一件好事。有一個新的插件rabbitmq-tasks插件,我不認爲我完全理解它帶來的新功能:http://grails.org/plugin/rabbitmq-tasks。此外,新的Grails平臺核心插件似乎有一個完全不同的方法圍繞着grails.eventshttp://grailsrocks.github.com/grails-platform-core/guide/events.html

處理任務的三種工具之間的一些重要區別是什麼?在選擇其中一個時可能會考慮哪些因素?

回答

0

我也在嘗試平臺核心的事件總線。 這實際上是一個很好的問題,我認爲你已經找到了答案。

糾正我,如果我錯了!

如果我正確理解了platform-core的事件總線,區別在於事件總線只在本地工作,並且它將一個事件委託給同一主機上的監聽器。 RabbitMQ是一個消息框架。因此,您有一臺服務器正在對消息進行排隊,並將它們委派給偵聽器,即使它位於另一臺主機上。對於分佈式系統,使用RabbitMQ會更加舒適,因爲使用Event Bus它不會起作用。 您將使用事件總線來解耦您的模塊/組件。