etcd
简介
etcd 是一个分布式键值存储服务,可在 多机器集群 上 可靠存储数据 。它是开源的,在 Github 上可以获得。etcd 在网络分区时可以优雅地解决领袖选举问题,而且可以容忍任何机器故障,包括 领袖 ( leader )。
应用程序可以在 etcd 集群 读取 或者 写入 数据。有一个使用场景是,将数据库连接信息或者特性标识作为 键值对 ( key value pairs )存储在 etcd 中。应用还可以 监视 这些值,一旦发现变动,便重新读取并配置。
高级应用则利用其一致性保证,实现数据库 领袖选举 或工作节点集群 分布式锁 。
接口简洁
通过 curl 命令或其他 HTTP 库即进行数值读写操作。
键值存储
数据以 目录 形式进行存储,类似文件系统。
变更监视
监视 键 ( key )或 目录 ( directory )变动,并响应新值。
技术概览
etcd 由 Go 语言开发,因此跨平台支持非常优秀,二进制程序紧凑,社区支持也不错。etcd 服务器间通讯采用 Raft 共识算法进行处理。