Reputation: 10352
I want to create a distributed applications on JVM which has a number of nodes, and need a library which allow me to:
I have found two solutions:
Are there any other libraries which can do the same?
Upvotes: 16
Views: 10647
Reputation: 106
Are there any other libraries which can do the same?
Apache Zookeeper. Never used it myself but heard about it.
Personally, I used JGroups for several years. At the beginning it was unstable - my TCP-based cluster of ~ 10 nodes was broken several times per week (separated to subclusters), but later Bela Ban has improved the library, it worked well.
My 5 cents to "JGroups vs Akka":
Upvotes: 7
Reputation: 51
My 2 cents. I have used JGroups in my project to achieve similar requirements. The env is about 60 nodes, which is a bit small, but we have a ton of activity between the nodes (about 1MM messages pd). JGroups has been great, because its network configuration is really flexible and quite stable. There are a few things you might learn the hard way when you configure JGroups for a cluster split over different data centers/LANs and even VLANs, as there is not a lot of user activity on the JGroups, unlike the other newer options that are available now. If you have the time to play around with it and have a comparable QA/Staging env to your production, I think JGroups is a very good option.
Upvotes: 5
Reputation: 2186
If you go by the number of stars on GitHub then other projects (Cassandra, Riak, Hadoop etc) would win out over JGroups, too... :-) I'd prototype on JGroups and Aka, and then pick the solution which works best for you (perf, functionality, simplicity etc). Cheers,
Upvotes: 5
Reputation: 2186
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...
Upvotes: 34