Zookeeper集群请求处理过程的消息类型
来源:互联网 发布:单片机实验认识实验 编辑:程序博客网 时间:2024/05/18 01:09
为了保持整个集群的内部实时通信,同事也为了确保可以控制所有follower/observer服务器, leader服务器会与每个follower/observer服务器建立一个tcp长连接,同时也会为每个follower/observer创建一个名为learnerhandler的实体.
LearnerHandler,是zk集群中learner服务器的管理器, 主要负责follower/observer服务器和leader服务器之间的一系列网络通信, 包括数据同步,请求转发和proposal提议的投票.leader服务器中保存了所有的follower/observer对应的learnerhandler.
常见的消息类型
包含REQUEST,PROPOSAL,ACK,COMMIT,INFORM,SYNC
REQUEST,
发送方:learner,接收方:leader
说明: 在zk中,所有的事务请求必须由leader服务器来处理, 当leader服务器接收到客户端事务请求后, 就会将请求以request消息的形式转发给leader服务器处理.
PROPOSAL
发送方:leader,接收方:follower
说明:该消息是zk实现ZAB算法核心所在, 即ZAB协议中的提议.在处理事务请求时,leader服务器会将事务请求以proposal消息的形式创建投票发送给集群中的所有follower服务器进行事务日志记录.
ACK
发送方: follower,接收方:leader
说明:follower服务器在接收到来自leader的proposal消息后, 会进行事务日志记录.如果完成了事务日志记录, 则就会以ACK消息的形式反馈给Leader
COMMIT
发送方:leader,接收方:follower
说明:该消息用于通知集群中所有的follower服务器,可以进行事务请求的提交了.leader服务器在接受到过半的follower服务器发送的ack消息后, 就进入事务请求的最终提交流程--生成commit消息,告知所有的follower服务器进行事务的提交.
inform
发送方:leader接收方:observer
说明:在事务提交阶段,针对follower服务器, leader仅仅只需要发送一个commit消息,follower服务器就可以完成事务请求的提交了, 因为在这之前的事务请求投票阶段, follower已经接收到了proposal消息,该消息包含了事务请求的内容,因此follower可以从之前的proposal缓存中再次获取事务请求.对于observer来说, 由于之前没有参加投票,因此并没有事务上下文,inform消息不仅能够通知observer已经可以提交事务请求, 同时还会在消息中携带事务的具体内容.
sync
发送方:leader,接收方:learner
说明:该消息用于通知learner服务器已经完成了sync操作
参考:从paxos到zookeeper分布式一致性原理
- Zookeeper集群请求处理过程的消息类型
- Storm+zookeeper+metaq 消息处理过程详解
- 【分布式】Zookeeper请求处理
- Zookeeper请求处理
- Zookeeper请求处理
- Zookeeper请求处理
- zookeeper 读写请求处理
- WM_CREATE消息的处理过程
- Struts处理请求的过程
- HTML请求的处理过程
- HTML请求的处理过程
- tomcat处理请求的过程
- struts2处理请求的过程
- HTML请求的处理过程
- Apache的请求处理过程
- struts2处理请求的过程
- structs2的请求处理过程
- tomcat处理请求的过程
- Qt之QSS(样式表语法)
- linux安装redis及phpredis环境配置(超详细)
- spring aop类内部调用不拦截原因及解决方案
- JS 在页面上直接将json数据导出到excel,支持chrome,edge,IE10+,IE9,IE8,Safari,Firefox
- STM32可用的QRCODE二维码生成库
- Zookeeper集群请求处理过程的消息类型
- JAVA 中有关Null的9件事
- matplotlib.pyplot.pie()饼图
- java中形如yyyy-MM-dd'T'HH:mm:ss.SSSZ 转化成各种格式的问题
- 在加载Android studio程序的时候,会爆出这个的错误的解决方式
- parseInt是用于字符串,而不是用于数字
- php如何禁用eval函数
- 性能测试必备知识
- dup和dup2原理