《从Paxos到ZooKeeper》第七章总结七:ZooKeeper技术内幕之服务器角色

本文介绍了ZooKeeper中的三种服务器角色:Leader、Follower和Observer。Leader负责请求处理链的初始化,使用责任链模式,包含LearnerHandler管理Follower/Observer的实时通信和控制。Follower的请求处理链与Leader类似,但有不同处理器。Observer的角色与Follower相似,但在数据同步时不会收到事务请求的投票。所有服务器间的通信由Leader协调,通过数据同步、服务器初始化、请求处理和会话管理四种消息类型进行交互。
摘要由CSDN通过智能技术生成

7 服务器角色介绍

分别有Leader、Follower和Observer三种类型

7.1 Leader

主要工作:
在这里插入图片描述

7.1.1 请求处理链

每一个服务器启动的时候,都会进行请求处理链的初始化;此处使用了责任链模式:
在这里插入图片描述
7个请求处理器组成了此链,功能如下:
在这里插入图片描述
在这里插入图片描述

7.1.2 LearnerHandler

Leader服务器的管理器,Leader服务器会与每一个Follower/Observer服务器建立一个TCP长连接,还会为每一个Follower/Observer服务器建创建LearnerHandler的实体
目的:为了保持整个集群内部的实时通信和为了确保可以控制所以的Follower/Observer服务器

作用:主要负责Follower/Observer服务器和Leader服务器之间的一系列网络通信,包括数据同步、请求转发和Proposal提议的投票等

7.2 Follower

主要工作:
在这里插入图片描述

7.2.1 请求处理链

同Leader:
在这里插入图片描述
与Leader不同的处理器:
在这里插入图片描述

7.3 Observer

作用:
在这里插入图片描述

7.3.1 请求处理链

与Follower非常相似:
在这里插入图片描述
区别:虽然SyncRequestProcessor处理器也组转上去了,但是实际运行中,Leader服务器不会将事务请求的投票发给Observer服务器

7.4 集群间消息通信

在整个ZooKeeper集群工作过程中,都是由Leader服务器来负责进行各服务器之间的协调;各服务器之间的网络通信,都是通过不同类型的消息传递来实现的

消息类型分为四类:数据同步型、服务器初始化型、请求处理型、会话管理型

7.4.1 数据同步型

在这里插入图片描述

7.4.2 服务器初始化型

在这里插入图片描述

7.4.3 请求处理型

在这里插入图片描述

7.4.4 会话管理型

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值