zookeeper 做注册中心详细介绍
Posted sqtce
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zookeeper 做注册中心详细介绍相关的知识,希望对你有一定的参考价值。
注册中心概念
注册中心涉及三大角色
1、服务提供者
2、服务消费者
3、注册中心
他们之间的关系主要是
1、各个服务启动的时候,将自己网络地址等信息记录到注册中心
2、服务消费者从注册中心查询服务提供者提供的服务,并通过对应的地址调用服务提供者的 api
3、微服务与注册中心使用心跳机制通信,如果注册中心与微服务长时间无法通信,就会注销该服务实例
注册中心架构图:
注册中心的主要作用
在微服务架构中,注册中心主要起到了协调者的作用,主要有以下功能
1、服务发现
服务注册/反注册:保存服务提供者和服务调用者的信息
服务订阅/取消订阅:服务调用者订阅服务提供者的信息,最好有实时推送的功能
服务路由(可选):具有筛选整合服务提供者的能力。
2、服务配置
配置订阅:服务提供者和服务调用者订阅微服务相关的配置
配置下发:主动将配置推送给服务提供者和服务调用者
3、服务健康检测
检测服务提供者的健康情况
Zookeeper 概述
ZooKeeper 主要为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。曾经是 Hadoop 项目中的一个子项目,用来控制集群中的数据,目前已升级为独立的顶级项目。很多场景下也用它作为 Service 发现服务解决方案。
ZooKeeper 是基于 CP 来设计的,即任何时刻对 ZooKeeper 的访问请求能得到一致的数据结果,同时系统对网络分割具备容错性,但是它不能保证每次服务请求的可用性。从实际情况来分析,在使用 ZooKeeper 获取服务列表时,如果 zookeeper 正在选主,或者 ZooKeeper 集群中半数以上机器不可用,那么将无法获得数据。所以说,ZooKeeper 不能保证服务可用性。
Zookeeper(数据一致性)数据同步分析
我们知道 Zookeeper 集群在选举结束之后,leader 节点将进入 LEADING 状态,follower 节点将进入 FOLLOWING 状态;此时集群中节点将进行数据同步操作,以保证数据一致。 只有数据同步完成之后 Zookeeper 集群才具备对外提供服务的能力。
当节点在选举后角色确认为 leader 后将会进入 LEADING 状态,节点状态变更为 LEADING 之后会创建 leader 实例,并触发 lead 过程。
leader 与 follower 在数据同步过程中会执行如下过程: follower 节点进入 FOLLOWING 状态后,follower 与 leader 在数据同步过程中会执行如下过程:
以上是关于zookeeper 做注册中心详细介绍的主要内容,如果未能解决你的问题,请参考以下文章