Etcd
默认使用2379端口为客户端提供通讯,并使用端口2380来进行服务器间通讯。
服务发现:一种注册服务和监控服务健康状态的机制。用户可以在etcd中注册服务,并且对注册的服务设置key TTL,定时保持服务的心跳以达到监控健康状态的效果
默认,为了向后兼容 etcdctl 使用 v2 API 来和 etcd 服务器通讯。为了让 etcdctl 使用 v3 API 来和etcd通讯,API 版本必须通过环境变量 ETCDCTL_API 设置为版本3。
export ETCDCTL_API=3
目前,etcd 保证支持不超过 1MB 数据的 RPC 请求。将来,大小限制可能会松动或可配
===============参考资料:http://www.sel.zju.edu.cn/?p=523 《etcd:从应用场景到实现原理的全方位解读》
2.3 etcd概念词汇表
- Raft:etcd所采用的保证分布式系统强一致性的算法。
- Node:一个Raft状态机实例。
- Member: 一个etcd实例。它管理着一个Node,并且可以为客户端请求提供服务。
- Cluster:由多个Member构成可以协同工作的etcd集群。
- Peer:对同一个etcd集群中另外一个Member的称呼。
- Client: 向etcd集群发送HTTP请求的客户端。
- WAL:预写式日志,etcd用于持久化存储的日志格式。
- snapshot:etcd防止WAL文件过多而设置的快照,存储etcd数据状态。
- Proxy:etcd的一种模式,为etcd集群提供反向代理服务。
- Leader:Raft算法中通过竞选而产生的处理所有数据提交的节点。
- Follower:竞选失败的节点作为Raft中的从属节点,为算法提供强一致性保证。
- Candidate:当Follower超过一定时间接收不到Leader的心跳时转变为Candidate开始Leader竞选。
- Term:某个节点成为Leader到下一次竞选开始的时间周期,称为一个Term。
- Index:数据项编号。Raft中通过Term和Index来定位数据。
etcd一般部署集群推荐奇数个节点,推荐的数量为3、5或者7个节点构成一个集群
initial-advertise-peer-urls
参数表示节点监听其他节点同步信号的地址
如果你所在的网络环境配置了多个etcd集群,为了避免意外发生,最好使用-initial-cluster-token
参数为每个集群单独配置一个token认证。这样就可以确保每个集群和集群的成员都拥有独特的ID。
etcd有三种集群化启动的配置方案,分别为静态配置启动、etcd自身服务发现、通过DNS进行服务发现
etcd 的demo
https://coreos.com/etcd/docs/latest/demo.html
================
etcd常用操作:https://www.cnblogs.com/guxiaobei/p/8003792.html
=====================================参考资料 http://www.dockerinfo.net/etcd%E9%A1%B9%E7%9B%AE%E4%BB%8B%E7%BB%8D