一、思想
微服务、分布式应用的特点就是拆分,拆分带来的问题就是服务器数量成倍增多,两个很重要的原因,需要抽离出来一个项目专门管理这些服务信息。
1、对信息的管理思想,统一化、中心化一直是一套比较常规成熟的标准。
2、并且它是整个分布式微服务组间调用很重要的一环:就是拉取服务信息的来源同时配合负载均衡组件使用的一个解决方案。
注册中心应运而生。
二、注册中心的比对
现在比较流行的也就是Consul和Nacos,Zookeeper没有管理界面,一般不建议使用,而Eureka已经处于停更,并且本身就存在很多bug,一般不建议使用
三、Consul架构设计
解读:
1、Consul的集群架构服务由Consul 的client服务 和server服务共同组成,各有分工。
Client:
①、不存储任何服务信息
②、 对外提供请求入口,是一个代理转发,做外部与server的隔离层。
③、定期检查注册服务状态,以gossip协议同步给server服务,防止有故障的服务被服务发现转发,client中有可用server 列表,如若 server down,会通过gossip协议广播告知client server 状态。
Server:
①、存储服务信息。
②、负责Leader选举,日志同步信息。信息一致性处理
2、Server节点也是作为WAN gossip pool的一部分。这个pool是与LAN gossip pool是不同的,它为具有更高延迟的网络响应做了优化,并且可能包括其他consul集群的server节点。设计WANpool的目的是让数据中心能够以low-touch的方式发现彼此
3、Consul集群架构中的端口作用
4、两外注意点