etcd

简介

etcd 是一个分布式键值存储服务,可在 多机器集群可靠存储数据 。它是开源的,在 Github 上可以获得。etcd 在网络分区时可以优雅地解决领袖选举问题,而且可以容忍任何机器故障,包括 领袖 ( leader )。

应用程序可以在 etcd 集群 读取 或者 写入 数据。有一个使用场景是,将数据库连接信息或者特性标识作为 键值对 ( key value pairs )存储在 etcd 中。应用还可以 监视 这些值,一旦发现变动,便重新读取并配置。

高级应用则利用其一致性保证,实现数据库 领袖选举 或工作节点集群 分布式锁

接口简洁

etcd - 图1通过 curl 命令或其他 HTTP 库即进行数值读写操作。

键值存储

etcd - 图2数据以 目录 形式进行存储,类似文件系统。

变更监视

etcd - 图3监视 ( key )或 目录 ( directory )变动,并响应新值。

技术概览

etcdGo 语言开发,因此跨平台支持非常优秀,二进制程序紧凑,社区支持也不错。etcd 服务器间通讯采用 Raft 共识算法进行处理。etcd - 图4