zoukankan      html  css  js  c++  java
  • Zookeeper 的消息广播实现原理

    消息广播的过程实际上是一个 简化版本的二阶段提交过程

    1. leader 接收到消息请求后,将消息赋予一个全局唯一的64 位自增 id,叫:zxid,通过 zxid 的大小比较既可以实现因果有序这个特征

    2. leader 为每个 follower 准备了一个 FIFO 队列(通过 TCP协议来实现,以实现了全局有序这一个特点)将带有 zxid的消息作为一个提案(proposal)分发给所有的 follower

    3. 当 follower 接收到 proposal,先把 proposal 写到磁盘,写入成功以后再向 leader 回复一个 ack

    4. 当 leader 接收到合法数量(超过半数节点)的 ACK 后,leader 就会向这些 follower 发送 commit 命令,同时会在本地执行该消息

    5. 当 follower 收到消息的 commit 命令以后,会提交该消息

     leader 的投票过程,不需要 Observer 的 ack,也就是 Observer 不需要参与投票过程,但是 Observer 必须要同 步 Leader 的数据从而在处理请求的时候保证数据的一致 性

  • 相关阅读:
    Bootstrap 4 网格的基本结构
    Js 框架之Vue .JS学习记录 ① 与Vue 初识
    ASP.NET 发送邮件 SMTP
    c# 多线程简化
    ASP.NET Razor
    ASP.NET MVC 简单介绍①
    握手7
    握手6
    握手5
    握手4
  • 原文地址:https://www.cnblogs.com/Jomini/p/13808326.html
Copyright © 2011-2022 走看看