2015-01-07 76 views
3

有人知道分布式hashmaps(DHT)的良好java框架吗?java或分布式信息存储中的分布式哈希图

前段时间我和Overlay Weaver一起工作,但是这里缺少一个很好的文档,所以我只用它用于丑陋黑客的原型......但现在我需要可靠的代码。或者有人找到OverlayWeaver的良好文件?

如果dht框架支持Chord或Kademlia并且可以在我的Java应用程序中调用,那将是完美的。

还是有人知道一个更好的方法来保存分布式系统中的可靠和故障安全的短字符串数据?

回答

5

我认为Hazelcast适用于这种情况。它实际上不需要设置(不仅仅是你需要添加依赖到Hazelcast jar)。以下代码示例显示如何设置共享Map

// Code in process 1 
Config cfg = new Config(); 
HazelcastInstance instance = Hazelcast.newHazelcastInstance(cfg); 
Map<Integer, String> sharedData = instance.getMap("shared"); 
sharedData.put(1, "This is shared data"); 

// Code in process 2 
Config cfg = new Config(); 
HazelcastInstance instance = Hazelcast.newHazelcastInstance(cfg); 
Map<Integer, String> sharedData = instance.getMap("shared"); 
String theSharedString = sharedData.get(1); 

Hazelcast支持各种共享数据结构,包括MapQueueListAtomicLongIdGeneratorThe documentation is good在我的经验中实现是固体。

如果您使用的是健全构建环境(例如Maven的)以下的依赖是所有需要开始:

<dependency> 
    <groupId>com.hazelcast</groupId> 
    <artifactId>hazelcast</artifactId> 
    <version>3.4</version> 
</dependency> 
+0

哇榛果真是太棒了,很容易。谢谢你这个快速回答:-) – heaphach

+0

但似乎你可以付钱,所以也许它有一些限制。你知道免费版本的限制吗? – heaphach

+0

查看此价格:http://hazelcast.com/pricing/ - 开源替代方案不包括支持,Tomcat会话群集等 – wassgren