Grails: rabbitmq plugin vs rabbitmq-tasks plugin vs Plugin Platform Core Events Bus API

370 Views Asked by At

I asked a question earlier about delayed processing of an event: Grails non time based queuing. I started using the rabbitmq-plugin: http://grails.org/plugin/rabbitmq, and things have been great.

Now I see that I have some new options, and I always try to mess with a good thing. There is a new plugin, the rabbitmq-tasks plugin, and I don't think I totally understand the new features its bringing to the table: http://grails.org/plugin/rabbitmq-tasks. Also, the new grails Platform Core Plugin seems to have a completely different approach revolving around grails.events http://grailsrocks.github.com/grails-platform-core/guide/events.html.

What are some of the important distinctions between the three tools for processing tasks? What considerations might be important in choosing one over the other?

1

There are 1 best solutions below

0
On

I'm also trying the Event Bus of platform-core. It is actually a good question and I think you already found an answer.

Correct me if I'm wrong!

If I correctly understand the event bus of platform-core, the differences are that event bus works just locally and it delegates an event to listener on the same host. RabbitMQ is a messaging framework. So you have a server that is queuing messages and delegates them to the listener even if it is on the other host. For distributed systems it's more comfortable to use RabbitMQ, because with Event Bus it will be not work. You will use event bus to decouple your modules/components.