有人知道一个好的Java分布式哈希表(DHT)框架吗?
一段时间以前,我使用过Overlay Weaver,但这里缺少良好的文档,所以我只用它来做了一个带有丑陋hack的原型...,但现在我需要可靠的代码。或者有人找到了OverlayWeaver的好文档吗?
如果DHT框架支持Chord或Kademlia,并可以在我的Java应用程序中调用,那就太完美了。
或者有人知道在分布式系统中保存可靠和安全的短字符串数据的更好方法吗?
有人知道一个好的Java分布式哈希表(DHT)框架吗?
一段时间以前,我使用过Overlay Weaver,但这里缺少良好的文档,所以我只用它来做了一个带有丑陋hack的原型...,但现在我需要可靠的代码。或者有人找到了OverlayWeaver的好文档吗?
如果DHT框架支持Chord或Kademlia,并可以在我的Java应用程序中调用,那就太完美了。
或者有人知道在分布式系统中保存可靠和安全的短字符串数据的更好方法吗?
我认为Hazelcast非常适合这种情况。它实际上不需要任何设置(除了您需要将依赖项添加到Hazelcast的Jars中)。以下代码示例显示如何设置共享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 支持各种共享数据结构,包括 Map
、Queue
、List
、AtomicLong
、IdGenerator
等等。文档很好,根据我的经验,实现也很可靠。
如果您使用的是一个合理的构建环境(如 Maven),只需要以下依赖项就可以开始:
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast</artifactId>
<version>3.4</version>
</dependency>
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-core</artifactId>
<version>${ignite.version}</version>
</dependency>
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-spring</artifactId>
<version>${ignite.version}</version>
</dependency>
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-indexing</artifactId>
<version>${ignite.version}</version>
</dependency>