ETCD技术汇总

1. ETCD 是什么

etcd是一个Go言编写的分布式、高可用的一致性键值存储系统,用于提供可靠的分布式键值存储、配置共享和服务发现等功能,具有以下特点:

简单:
易使用:基于HTTP+JSON的API让你用curl就可以轻松使用;
易部署:使用Go语言编写,跨平台,部署和维护简单。
可靠:

  • 强一致:使用Raft算法充分保证了分布式系统数据的强一致性;
  • 高可用:具有容错能力,假设集群有n个节点,当有(n-1)/2节点发送故障,依然 能提供服务;
  • 持久化:数据更新后,会通过WAL格式数据持久化到磁盘,支持Snapshot快照。

快速:每个实例每秒支持一千次写操作,极限写性能可达10K QPS。
安全:可选SSL客户认证机制。

2. 常用功能

  • 键值存储、查询功能:支持精准查询、range操作、ttl机制、key版本等。
  • 一致性机制:采用raft协议保证强一致性。
  • 可用性机制:提供集群和leader选举机制。
  • SSL认证机制。
  • watch机制。

3. 应用场景

  • 配置中心
  • 分布式锁
  • leader 选举组件
  • 服务注册和发现
  • 消息订阅和发布

4. raft 协议

解决3个核心问题

  • 选举
  • 日志复制
  • 安全

https://www.jianshu.com/p/6d9017289cd5
https://mp.weixin.qq.com/s/BQSMuTSAYK3pmuR3BD5kvw

你可能感兴趣的:(ETCD技术汇总)