[zookeeper] zab协议

标签: zookeeper zab
5人阅读 评论(0) 收藏 举报
分类:

一、描述

zab(ZooKeeper Atomic Broadcast原子消息广播协议),是zookeeper一致性协议,zab协议主要包括两种模式,消息广播和奔溃恢复


二、角色

zookeeper中主要的两种角色,leader和follower,这两种角色都有投票权


三、消息广播

1.follower收到prosoal等写事务的提议

2.follower会发送给leader

3.leader会为每个follower建立一个队列,以tcp方式保证消息的fifo特性,以保证消息的顺序

4.当收到超过半数的ack的follower的回复后,会想每个follower发送commit请求


这与2pc(两阶段提交)相似,当时区别在于1.zab不需要等待全部follower的ack才进行下一步commit操作。2.zab简化了逻辑,移除了中断逻辑

但是这样还是无法解决类似2pc提交时候,如leader接受到足够的ack后,发送commit后,只有一部分follower收到了,而另一部分没有收到commit,

这时候leader奔溃退出,这样会导致数据不一致情况,这样就需要奔溃恢复来解决这个问题


四、奔溃恢复

当zookeeper的leader奔溃后,zookeeper集群需要从奔溃中恢复,这样需要选举出新的leader,而新leader被选举出来,该leader的事务id时最大的,

以保证当前的leader包含最新的提交的数据,这样后续其follower与leader数据同步的时候,可以知道哪些数据时需要提交的,哪些数据是需要丢弃的



查看评论

zookeeper中的ZAB协议理解

ZAB协议 ZAB协议是专门为zookeeper实现分布式协调功能而设计。zookeeper主要是根据ZAB协议是实现分布式系统数据一致性。 zookeeper根据ZAB协议建立了主备模型完成zook...
  • junchenbb0430
  • junchenbb0430
  • 2017-08-25 17:33:37
  • 393

Zookeeper ZAB 协议分析

Zookeeper  Zab协议 前言 Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名...
  • lu1005287365
  • lu1005287365
  • 2016-09-27 10:49:02
  • 1157

Zookeeper之Zab协议介绍

http://blog.csdn.net/bruceleexiaokan/article/details/7849601 1. Zab介绍 ZooKeeper服务的内部通信...
  • lihui6636
  • lihui6636
  • 2015-01-30 17:33:55
  • 613

分布式一致性原理、Paxos算法与Zookeeper的ZAB协议、Zookeeper使用场景与在电商系统中的应用

Paxos算法1.CAP定理:一个分布式系统不可能同时满足一致性(C),可用性(A)和分区容错性(P)这三个基本需求,最多只能同时满足其中的两项。2.2PC: Prepare(投票);Commit(...
  • zhengzhihust
  • zhengzhihust
  • 2016-12-04 20:51:50
  • 2714

ZooKeeper的原子广播(ZAB协议)

ZooKeeper作为高可用的一致性协调框架,自然有着一致性算法的实现,ZooKeeper使用的是ZAB协议作为数据一致性的算法,即ZAB(ZooKeeper Atomic Broadcast )。Z...
  • mayp1
  • mayp1
  • 2016-07-10 15:39:04
  • 4702

ZooKeeper源码阅读(一):ZAB协议

A simple totally ordered broadcast protocol   causal relationship指的是同一个发送者发送的两个消息,或者leader改变前发送的消息和改...
  • m_vptr
  • m_vptr
  • 2013-07-14 18:49:26
  • 15579

Zookeeper(三)ZAB协议的两种基本模式:崩溃恢复和广播消息

ZAB协议的两种基本模式:崩溃恢复和广播消息 1.崩溃恢复 Leader服务器选举 ZooKeeper会有两种情况下进行Leader选举 1)集群初始化 2)集群的Leader失去连接,需要重新选举...
  • jjavaboy
  • jjavaboy
  • 2017-02-12 21:21:26
  • 1372

zookeeper入门系列-理论基础-zab协议

上一章讨论了paxos算法,把paxos推到一个很高的位置。但是,paxos有没有什么问题呢?实际上,paxos还是有其自身的缺点的: 1. 活锁问题。在base-paxos算法中,不存在leader...
  • liweisnake
  • liweisnake
  • 2017-04-14 11:49:43
  • 1768

ZOOKEEPER的ZAB协议

ZooKeeper是一个典型的分布式数据一致性的解决方案,分布式程序可以基于它实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调通知、集群管理、master选举、分布式锁、分布式队列等功能...
  • tang06211015
  • tang06211015
  • 2016-07-06 23:18:43
  • 526

ZAB 和paxos 简介

ZAB: zookeeper Automic Broadcast ZAB, Paxos两者的联系: 两者都存在类似leader的角色,由其负责协调多个follower的工作 leader进程都会...
  • weixin_39079222
  • weixin_39079222
  • 2017-06-21 11:35:55
  • 187
    个人资料
    持之以恒
    等级:
    访问量: 6万+
    积分: 2201
    排名: 2万+
    最新评论