1.前言

  Zookeeper(ZK)是一个由多个Server组成的集群,该集群有一个Leader,多个Follower。客户端可以连接任意ZK服务节点来读写数据。
  ZK集群中每个Server都保存一份数据副本。ZK使用简单的同步策略,通过以下两条基本保证来实现数据的一致性:1、全局串行化所有的写操作;2、保证同一客户端的指令被FIFO执行以及消息通知的FIFO。所有的读请求由Zk Server 本地响应,所有的更新请求将转发给Leader,由Leader实施。
第十五篇:Zookeeper系统架构  ZK通过复制来实现高可用,只要ZK集群中半数以上的机器处于可用状态,它就能提供服务。比如,在一个有5个的ZK集群中,每个Follwer节点的数据都是Leader节点数据的副本,每个节点的数据视图都一样,这样就有5个节点提供ZK服务。并且ZK集群中任意2台机器出现故障,都可以保证ZK仍然对外提供服务,因为剩下的3台机器超过了半数。
  ZK会确保对Znode树的每一个修改都会被复制到超过半数的机器上。如果少于半数的机器出现故障,则最少有一台机器会保存最新的状态,那么这台机器就是我们的Leader,其余的副本最终也会更新到这个状态。如果Leader挂了,由于其他机器保存了Leader的副本,那就可以从中选出一台机器作为新的Leader继续提供服务。

2.角色

第十五篇:Zookeeper系统架构

3.数据读写流程

第十五篇:Zookeeper系统架构

相关文章:

  • 2022-02-08
  • 2022-01-17
  • 2021-08-09
  • 2022-02-25
  • 2021-05-07
  • 2021-11-14
  • 2021-10-26
猜你喜欢
  • 2021-11-18
  • 2021-11-27
  • 2022-01-03
  • 2021-12-10
  • 2021-09-08
相关资源
相似解决方案