etcd简介
etcd 是一个开源的分布式 key-value 键值存储数据库,使用 go 语言开发,其采用 raft 一致性算法来管理集群节点的复制日志。
etcd 源码地址:
https://github.com/etcd-io/etcd
etcd 特点:
- 使用简单,拥有定义良好、面向用户的 API(gRPC)
- 安全性高,具有可选客户端证书身份验证的自动TLS
- 性能优越,基准测试 10000/s 的写入
- 可靠性高,使用 raft 分布式一致性算法
etcd 被许多公司使用,其中包含一个非常重要的场景,比如系统配置,服务发现等等,同时这些公司也是 etcd 代码的重要贡献者。etcd 经常与 kubernetes,locksmith,vulcand,Doorman 等一起协作。在不断的实践应用中,确保了 etcd 的可靠性。
etcd 的用户案例:
tidb,tidb 的 pd(placement driver) 是 tidb 集群的中心控制器,它存储了集群的元数据信息,调度数据,为分布式事务分配全局唯一的时间戳,它内部嵌入了 etcd 来支持高可用和自动故障转移。
华为,七牛云,青云,腾讯游戏,美图等众多国内知名公司都在使用 etcd,其中大多数将 etcd 用于系统配置或者服务配置的存储、服务发现、kubernetes 等场景。
etcd 的使用:
bin/etcd 是后台程序,客户端默认端口号为 2379,etcd 节点之间通信的默认端口号为 2380。
bin/etcdctl 是 etcd 提供的客户端工作,用于连接 etcd server,用于存储和读取数据,常用方法如下:
etcdctl put mykey "this is myvalue"
etcdctl get mykey
文章评论