etcd简介

etcd 是一个开源的分布式 key-value 键值存储数据库,使用 go 语言开发,其采用 raft 一致性算法来管理集群节点的复制日志。

etcd 源码地址:

https://github.com/etcd-io/etcd

etcd 特点:

  1. 使用简单,拥有定义良好、面向用户的 API(gRPC)
  2. 安全性高,具有可选客户端证书身份验证的自动TLS
  3. 性能优越,基准测试 10000/s 的写入
  4. 可靠性高,使用 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

文章评论

0条评论