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);

项目主页:http://www.open-open.com/lib/view/home/1378365077671