“Zookeeper:基础”的版本间差异

来自Wikioe
跳到导航 跳到搜索
第1行: 第1行:
[[category:Zookeeper]]
[[category:Zookeeper]]


== 关于 ==
== 架构(Architecture) ==
ZooKeeper的“客户端-服务器架构”:
: [[File:Zookeeper:架构图.png|800px]]
: [[File:Zookeeper:架构.png|600px]]


其中:
# '''Leader''': ZooKeeper 集群工作的核心。
* '''Client'''(客户端):分布式应用集群中的一个节点,从服务器访问信息。
#* 事务请求(写操作)的唯一调度和处理者,保证集群事务处理的顺序性;集群内部各个服务的调度者。
** 对于特定的时间间隔,每个客户端向服务器发送消息以使服务器知道客户端是活跃的。
#* 对于 create,setData,delete 等有写操作的请求,则需要统一转发给 leader 处理,leader 需要决定编号、执行操作,这个过程称为一个'''事务'''
** 类似地,当客户端连接时,服务器发送确认码。如果连接的服务器没有响应,客户端会自动将消息重定向到另一个服务器。
# '''Follower''': 处理客户端非事务(读操作)请求。
* '''Server'''(服务器):ZooKeeper总体中的一个节点,为客户端提供所有的服务。
#* 转发事务请求给 Leader;
** 向客户端发送确认码以告知服务器是活跃的。
#* 参与集群;
* '''Ensemble'''(服务器组):ZooKeeper服务器组。形成ensemble所需的最小节点数为3。
#* leader 选举投票 2n-1 台可以做集群投票。
* '''Leader''':服务器节点,如果任何连接的节点失败,则执行自动恢复。
# '''Observer''': 观察者角色。
** Leader在服务启动时被选举。
#* 观察 ZooKeeper 集群的最新状态变化并将这些状态同步过来,其对于非事务请求可以进行独立处理,对于事务请求,则会转发给Leader服务器处理。
* '''Follower''':跟随leader指令的服务器节点。
#* 不会参与任何形式的投票只提供服务,通常用于在不影响集群事务处理能力的前提下提升集群的非事务处理能力。

2021年9月28日 (二) 17:29的版本


架构(Architecture)

Zookeeper:架构图.png
  1. Leader: ZooKeeper 集群工作的核心。
    • 事务请求(写操作)的唯一调度和处理者,保证集群事务处理的顺序性;集群内部各个服务的调度者。
    • 对于 create,setData,delete 等有写操作的请求,则需要统一转发给 leader 处理,leader 需要决定编号、执行操作,这个过程称为一个事务
  2. Follower: 处理客户端非事务(读操作)请求。
    • 转发事务请求给 Leader;
    • 参与集群;
    • leader 选举投票 2n-1 台可以做集群投票。
  3. Observer: 观察者角色。
    • 观察 ZooKeeper 集群的最新状态变化并将这些状态同步过来,其对于非事务请求可以进行独立处理,对于事务请求,则会转发给Leader服务器处理。
    • 不会参与任何形式的投票只提供服务,通常用于在不影响集群事务处理能力的前提下提升集群的非事务处理能力。