微服务架构-注册中心
注册中心原理 :服务注册表,服务注册与发现,服务检测
- provider 服务提供方启动是注册接口
- consumer 服务消费者启动去调用注册接口
- consumer 去注册中心获取服务列表缓存到本地
- consumer 从缓存中获取一个实例去调用consumer 服务
服务检测:
服务与注册中心采用一定机制:心跳机制,服务与注册中心长时间没有消息回应,服务注册中心标记服务未up 状态,过期时间后从注册中心移除该服务地址信息
常用主流注册中心: Zookeeper、eureka 、nacaos
Zookeeper: 分布式协议服务框架
主要应用于分布式应用:统一配置管理、分布式锁、集群管理
zookeeper 数据结构:文件树结构
znode节点:持久化节点,持久化顺序节点,临时节点,临时顺序节点 3.5版本新增容器节点和TCL节点
zookeeper watch监听机制:监听节点 znode 结构,一次性监听
zookeeper 集群通信:
采用ZAB实现数据一致性:
ZAB:Leader 选举、过半机制、2PC预提交
集群节点:Leader follow observer
leader:领导节点,参与选举过程,负责读写
follow:跟随着节点,参与选举过程,负责读
oberver:观察者节点,不参与选举,只负责读,降低leder节点并发读
预提交,收到ack,提交(2PC 两阶段提交)(==>leader事务日志==》预提交(follow 事务日志)==》ack回复==》提交修改DataTree ) 最后进行数据同步