千金一刻莫空度,老大无成空自伤。这篇文章主要讲述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 连接
- 计算新的 epoch 值
- 通知统一 epoch 值
- 数据同步
- 启动 zk server 对外提供服务
?
follower 节点进入 FOLLOWING 状态后,follower 与 leader 在数据同步过程中会执行如下过程:
- 请求连接 leader
- 提交节点信息计算新的 epoch 值
- 数据同步
- 以上就是 zookeeper 的同步逻辑
?
?
?
?
?
?
?
?
?
【zookeeper 做注册中心详细介绍】?
推荐阅读
- 3D可视化打造智慧工厂数字化管理
- 画了20张图,详解浏览器渲染引擎工作原理
- 理论+实例,带你掌握Linux的页目录和页表
- 开始学linux的日子 NO.1
- ISO9001质量管理体系
- 请填写标题
- CS信息系统建设和服务能力评估你了解吗
- bond命令行配置
- 在WordPress 5.0中关闭div时出现未捕获的语法错误