views:

170

answers:

5

I am looking for a library (or a combination of libraries) to build a java distributed system, made of several applications exchanging data through several pairwise connections (no mapreduce). For the moment I did an expolration of existing libraries and I could only discard what I'v found. Here are my requirements:

  • Easy discovery of systems at runtime (possibly through a central server/directory)
  • Lightweight and low latency messages (no CORBA, RMI, SOAP,. etc.)
  • Decentralized communications (no LINDA like)
  • Easy enough to use and learn (no JXTA)
  • Compatible with GPL license (so GPL, BSD, etc.)

Do you have any suggestion ? Thanks in advance

+5  A: 

Are you familiar with JGroups? You could use it to design your own architecture. They provide easy-to-use multicast abstraction.

Jonathan Feinberg
How JGroups performs with point-to-point communication ?
paradigmatic
You could always try it, and find out!
Jonathan Feinberg
+1 for JGroups - an excellent tool
skaffman
+2  A: 

I'm a big fan of JGroups, but I recently discovered hazelcast and will probably give it a try. It might be what you're looking for.

pgras
A: 

JBoss, ok, ok, it is not a framework but they have a number of projects that sound just like what you want.

OscarRyz
+2  A: 

You might want to take a peek at Terracotta ( http://www.terracotta.org/ )

David Soroko
+1  A: 

You could take a look at Jade if you like multi-agents paradigm http://jade.tilab.com/

Massimo Fazzolari