简述ETCD及其特点?
ETCD是etcd的简称,是一个开源的分布式键值存储系统,常用于存储分布式系统中的关键数据。它由CoreOS团队开发并开源,具有以下特点:
- 简单:ETCD提供了简单易用的HTTP API,使用起来非常方便。
- 存储:数据以分层的形式存储在文件目录中,类似于我们日常使用的文件系统。
- Watch机制:可以Watch指定的键或前缀目录的更改,并对更改时间进行通知。
- 安全通信:支持SSL证书验证,保证通信的安全性。
- 高性能:ETCD单实例可以支持2K/s的读操作,官方也提供了基准测试脚本。
- 一致可靠:基于Raft共识算法,实现分布式系统内部数据存储、服务调用的一致性和高可用性。
- 完全复制:集群中的每个节点都可以使用完整的存档。
- 高可用性:ETCD可用于避免硬件的单点故障或网络问题。
- 一致性:每次读取都会返回跨多主机的最新写入。
- 快速:每秒10000次写入的基准速度。
由于ETCD的这些特性,它常常出现在分布式设计场景下的工具集中,如服务发现、配置中心等。