ZooKeeper入门(一)

1 基本概念

1.1 什么是ZooKeeper

zookeeper是为分布式应用所设计的高可用、高性能且一致的开源协调服务

1.2 Zookeeper的特点

  • 顺序一致性

  • 原子性 
  • 单一视图
  • 可靠性 
  • 实时性 

2 角色

2.1 角色划分

ZooKeeper集群当中,集群中的服务器角色有两种Leader和Learner,Learner角色又分为Observer和Follower

所有角色功能如下

  • 领导者(leader),负责进行投票,更新系统状态

  • 学习者(learner),包括跟随者(follower)和观察者(observer),

  • follower用于接受客户端请求并向客户端返回结果,在选主过程中参与投票

  • Observer可以接受客户端请求,将写请求转发给leader,但observer不参加投票过程。

  • 客户端(client),请求发起方

 2.2 为什么要有Observer

ZooKeeper的3.3.3版本以后,又添加了一种新角色Observer。它与follower的唯一区别是,Observer不参与投票,只是简单的接收投票结果。

为什么要这么设计呢?ZooKeeper每添加一台服务时要进行选举,而ObServer没有选举和被选举权,因此,我们增加再多的Observer,也不会影响集群的写性能

原文地址:https://www.cnblogs.com/zcjcsl/p/7767995.html