1.简述etcd及其特点?
答:etcd是CoreOs团队发起的开源项目,是一个管理配置信息和服务发现的项目,它的目标是构建一个高可用的分布式键值(key-value)数据库,基于GO语言实现。
特点:
简单:支持Rest风格的HTTP+JSON API
安全:支持HTTPS方式的访问
快速:支持并发1k/s的写操作
可靠:支持分布式结构,基于Raft的分布式一致性算法
2.简述etcd的使用场景?
(1)服务发现。服务发现主要解决在同一个分布式集群中的进程或服务,要如何才能找到对方并建立连接。本质上来说,服务发现就是想要了解集群中是否有进程在监听 udp 或 tcp 端口,并且通过名字就可以查找和连接。
(2)消息发布与订阅。服务发现主要解决在同一个分布式集群中的进程或服务,要如何才能找到对方并建立连接。本质上来说,服务发现就是想要了解集群中是否有进程在监听 udp 或 tcp 端口,并且通过名字就可以查找和连接。通过这种方式可以做到分布式系统配置的集中式管理与动态更新。应用中用到的一些配置信息放到 etcd 上进行集中管理
(3)负载均衡。在分布式系统中,为了保证服务的高可用以及数据的一致性,通常都会把数据和服务部署多份,以此达到对等服务,即使其中的某一个服务失效了,也不影响使用。etcd 本身分布式架构存储的信息访问支持负载均衡。etcd 集群化以后,每个 etcd 的核心节点都可以处理用户的请求。所以,把数据量小但是访问频繁的消息数据