Search code examples
akkadistributed-computingjgroupsakka-cluster

Alternatives to JGroups


I want to create a distributed applications on JVM which has a number of nodes, and need a library which allow me to:

  • Manage cluster/grid membership, i.e. I want to get notifications on leave/join
  • Manage messages between cluster members

I have found two solutions:

  • JGroups - it works but it looks dates and not widely used
  • Akka - it's Scala based and its cluster module doesn't look like mature

Are there any other libraries which can do the same?


Solution

  • JGroups has been around since 1998 and is therefore very stable, not dated at all ! It is being actively developed (I'm the lead dev).

    It is used by a lot of applications/systems out there, if you google for it, you'll find a lot of references. Just this week, a telecom company using it broke the record for largest cluster built with JGroups with a 1115 node cluster !

    JBoss (Wildfly) clustering (Infinispan) uses JGroups as well. I suggest write a small prototype and see how it performs. If you ask questions on the JGroups mailing list, the people there are very helpful...

    I can't comment on Akka, as I haven't used it, but my distaste for Scala would keep me away from it anyway...