Errai: The browser as a platform

Thursday, January 10, 2013

ErraiBus clusters natively!

Christian and myself burned some midnight oil the past few days in order to get ErraiBus's new native clustering support up and running.

Some of our users have been looking for this for some time as ErraiBus has been somewhat limited in clustered environments and required the creation of JMS Queues and such to handle global broadcasts in a cluster.

People wanted something that would "just work" without having to worry about the topology of user sessions relative to whatever random server a load balancer might move a user to.

As I just mentioned, really smart engineers have managed to work around the limitation that each bus is not aware of any other buses in a cluster. And even then, it's only a problem for a certain class of applications. But the whole point of ErraiBus was to be stupid easy to use.

Therefore, tonight in the 3.0 branch we committed a new ClusteringProvider implementation that leverages the ever-so-awesome JGroups.

It's pretty easy to use for basic clustering scenarios. Basically you add the following two lines to the file.

Yeah, that's about it. JGroups will startup with the bus and use multicast to find other buses.

So if you're interested in testing it yourself, hurry on over to the 3.0 branch, give it a clone and build it with Maven. If that's too much work, don't worry, we'll have a pre-release coming very shortly.

1 comment:

  1. Perhaps extend this to use Muxer, so multiple apps can re-use the same JChannel instance.
    We do that in CapeDwarf.
    But it's a bit easier for us, as we also have a whole AS integration layer.