13

I'm looking for recommendations for a simple open source implementation of a Distributed Hash Table in Java to play around with. No fancy features, just for learning purposes, no production functionality needed. It should be simple to set up (e.g. 1 physical machine with n-JVMs) and well documented preferably with some examples, tutorials or starting guides.

Research yields these candidates: FreePastry and OpenChord but I'm not fully convinced they meet my criteria simplicity-wise.

Have you got any experience with these or other implementations? Recommendations?

Thanks & adios

danirod
  • 1,011
  • 3
  • 9
  • 18

5 Answers5

11

There is TomP2P on Github.

Vincent Cantin
  • 16,192
  • 2
  • 35
  • 57
  • Looks best to me as of 2015: active development and lots of commiters on github, more than 50 forks, android support. – sulai Feb 13 '15 at 11:18
5

Maybe JDHT will fit the bill. I haven't checked it out myself, but it's written at a university, sometimes that means it's simple and used for teaching. :-)

Prof. Falken
  • 24,226
  • 19
  • 100
  • 173
  • Broken link to JDHT. I googled around a bit to try and find if it moved, but its not easy to find. Maybe project is dead. At leasts its 'footprint' on the internet seems to indicate so. – Kris Jul 17 '16 at 22:29
4

I have been working on an implementation of Kademlia lately. It's very simple to setup and use and it's well documented. There are several tests written that demonstrate the different functionality as well as a starting guide in the Readme.md file itself.

Joshua Kissoon
  • 3,269
  • 6
  • 32
  • 58
1

You can use openkad

eyal
  • 29
  • 1
0

I started with free pastry..I've had a great experience with it. It was very simple to set up and run a ring of nodes. I've been mainly using PAST (File storage) and its been quite easy to get running. I'd suggest having a look at the PAST tutorial here. https://trac.freepastry.org/wiki/tut_past

The code is over simplified in my opinion but you say that is all you need so I guess thats ok.

Travis
  • 705
  • 6
  • 30