> ### `etcd`
* `ETCD`是用于共享配置和服务发现的分布式,一致性的`KV`存储系统。
* `ETCD`集群是一个分布式系统,由多个节点相互通信构成整体对外服务,每个节点都存储了完整的数据,并且通过Raft协议保证每个节点维护的数据是一致的。
<br/>
> ### `Raft协议`
* 选主,一组服务节点构成一个集群,并且有一个主节点来对外提供服务。当集群初始化,或者主节点挂掉后,面临一个选主问题。集群中每个节点,任意时刻处于`Leader`, `Follower`, `Candidate`这三个角色之一。当`Follower`在一定时间内没有收到来自主节点的心跳,会将自己角色改变为`Candidate`,并发起一次选主投票;当收到包括自己在内超过半数节点赞成后,选举成功,否则进行下一轮选举。
* 日志复制,主节点将每次操作形成日志条目,并持久化到本地磁盘,然后通过网络IO发送给其他节点。
* 安全性
<br/>
> ### `ETCD`接口
* `ETCD`提供`HTTP`协议,在最新版本中支持Google gRPC方式访问。具体支持接口情况如下:
* ETCD是一个高可靠的KV存储系统,支持PUT/GET/DELETE接口;
* 为了支持服务注册与发现,支持WATCH接口(通过http long poll实现);
* 支持KEY持有TTL属性;
* CAS(compare and swap)操作;
* 支持多key的事务操作;
* 支持目录操作
<br/>
<br/>
***
参考:
[ETCD系列之一:简介](https://yq.aliyun.com/articles/11035)
- asD
- Java
- Java基础
- Java编译器
- 反射
- collection
- IO
- JDK
- HashMap
- ConcurrentHashMap
- LinkedHashMap
- TreeMap
- 阻塞队列
- java语法
- String.format()
- JVM
- JVM内存、对象、类
- JVM GC
- JVM监控
- 多线程
- 基础概念
- volatile
- synchronized
- wait_notify
- join
- lock
- ThreadLocal
- AQS
- 线程池
- Spring
- IOC
- 特性介绍
- getBean()
- creatBean()
- createBeanInstance()
- populateBean()
- AOP
- 基本概念
- Spring处理请求的过程
- 注解
- 微服务
- 服务注册与发现
- etcd
- zk
- 大数据
- Java_spark
- 基础知识
- Thrift
- hdfs
- 计算机网络
- OSI七层模型
- HTTP
- SSL
- 数据库
- Redis
- mysql
- mybatis
- sql
- 容器
- docker
- k8s
- nginx
- tomcat
- 数据结构/算法
- 排序算法
- 快排
- 插入排序
- 归并排序
- 堆排序
- 计算时间复杂度
- leetcode
- LRU缓存
- B/B+ 树
- 跳跃表
- 设计模式
- 单例模式
- 装饰者模式
- 工厂模式
- 运维
- git
- 前端
- thymeleaf
- 其他
- 代码规范
- work_project
- Interview