Key/Value 存储系统:etcd
jopen
11年前
etcd 是一个高可用的 Key/Value 存储系统,主要用于分享配置和服务发现。etcd 的灵感来自于 ZooKeeper 和 Doozer,侧重于:
- 简单:支持 curl 方式的用户 API (HTTP+JSON)
- 安全:可选 SSL 客户端证书认证
- 快速:单实例可达每秒 1000 次写操作
- 可靠:使用 Raft 实现分布式
Jetcd 是 etcd 的简单 Java 客户端开发包。etcd 是 CoreOS 中的高可用 Key/Value 存储和
示例代码:
EtcdClient client = new EtcdClient(URI.create("http://127.0.0.1:4001/")); String key = "/watch"; EtcdResult result = this.client.set(key, "hello"); Assert.assertEquals("hello", result.value); result = this.client.get(key); Assert.assertEquals("hello", result.value); ListenableFuture<EtcdResult> watchFuture = this.client.watch(key, result.index + 1); Assert.assertFalse(watchFuture.isDone()); result = this.client.set(key, "world"); Assert.assertEquals("world", result.value); EtcdResult watchResult = watchFuture.get(100, TimeUnit.MILLISECONDS); Assert.assertNotNull(result); Assert.assertEquals("world", result.value);