Go整合etcd

etcd 是什么

etcd 是一个分布式键值对存储,设计用来可靠而快速的保存关键数据并提供访问。通过分布式锁,leader选举和写屏障(write barriers)来实现可靠的分布式协作。etcd集群是为高可用,持久性数据存储和检索而准备。etcd 以一致和容错的方式存储元数据。分布式系统使用 etcd 作为一致性键值存储,用于配置管理,服务发现和协调分布式工作。使用 etcd 的通用分布式模式包括领导选举,分布式锁和监控机器活动。

关键特性:

  1. 分布式
  2. 强一致性
  3. 键值存储
  4. 监听数据变化
  • 使用场景

etcd 的场景默认处理的数据都是系统中的控制数据。所以 etcd 在系统中的角色不是其它 NoSQL 产品的替代品,更不能作为应用的主要数据存储。etcd 中应该尽量只存储系统中服务的配置信息,对于应用数据只推荐把数据量很小,但是更新和访问频次都很高的数据存储在 etcd 中。

作为一个受到 ZooKeeper 启发而催生的项目,它除了拥有与之类似的功能外,更专注于下面的这些点:

  1. 简单:易于部署,易使用。基于 HTTP+JSON 的 API 让你用 curl 就可以轻松使用。
  2. 安全:可选 SSL 客户认证机制。
  3. 快速:每个实例每秒支持一千次写操作。
  4. 可信:使用一致性 Raft 算法充分实现了分布式。
  • etcd的核心组件组成
  1. HTTP Server:用于处理用户发送的 API 请求以及其它 etcd 节点的同步与心跳信息请求。
  2. Store:用于处理 etcd 支持的各类功能的事务,

你可能感兴趣的:(etcd,golang,etcd)