(Two Phase Commitment Protocol)当一个事务操作需要跨越多个分布式节点的时候,为了保持事务处理的ACID特性,就需要引入一个“协调者”(TM)来统一调度所有分布式节点的执行逻辑,这些被调度的分布式节点被称为AP。TM负责调度AP的行为,并最终决定这些AP是否要把事务真正进行提交;因为整个事务是分为两个阶段提交,所以叫2pc

zookeeper的设计猜想-关于 2PC 提交相关推荐

  1. zookeeper的设计猜想-阶段二:执行事务提交

    在这个阶段,协调者会根据各参与者的反馈情况来决定最终是否可以进行事务提交操作,正常情况下包含两种可能:执行事务.中断事务

  2. zookeeper的设计猜想-防止单点故障

    基于Zookeeper本身的一个设计目标,zookeeper主要是解决分布式环境下的服务协调问题而产生的,我们来猜想一下,如果我们要去设计一个zookeeper,需要满足那些功能呢? 首先,在分布式架 ...

  3. zookeeper的设计猜想-集群组成

    通常zookeeper是由2n+1台server组成,每个server都知道彼此的存在.每个server都维护的内存状态镜像以及持久化存储的事务日志和快照.对于2n+1台server,只要有n+1台( ...

  4. zookeeper的设计猜想-leader选举

    当leader挂了,需要从其他follower节点中选择一个新的节点进行处理,这个时候就需要涉及到leader选举 从这个过程中,我们推导处了zookeeper的一些设计思想

  5. zookeeper的设计猜想-阶段一:提交事务请求(投票)

    1. 事务询问 协调者向所有的参与者发送事务内容,询问是否可以执行事务提交操作,并开始等待各参与者的响应 2. 执行事务 各个参与者节点执行事务操作,并将Undo和Redo信息记录到事务日志中,尽量把 ...

  6. zookeeper的设计猜想-Observer角色

    Observer是zookeeper3.3开始引入的一个全新的服务器角色,从字面来理解,该角色充当了观察者的角色. 观察zookeeper集群中的最新状态变化并将这些状态变化同步到observer服务 ...

  7. zookeeper的设计猜想-数据同步

    接着上面那个结论再来思考,如果要满足这样的一个高性能集群,我们最直观的想法应该是,每个节点都能接收到请求,并且每个节点的数据都必须要保持一致.要实现各个节点的数据一致性,就势必要一个leader节点负 ...

  8. zookeeper的设计猜想-Leader角色

    Leader服务器是整个zookeeper集群的核心,主要的工作任务有两项 1. 事物请求的唯一调度和处理者,保证集群事物处理的顺序性 2. 集群内部各服务器的调度者

  9. zookeeper的设计猜想-Follower角色

    Follower角色的主要职责是 1. 处理客户端非事物请求.转发事物请求给leader服务器 2. 参与事物请求Proposal的投票(需要半数以上服务器通过才能通知leader commit数据; ...

最新文章

  1. android 禁用组件,android
  2. 003-读书笔记-Vue官网 计算属性与监听器
  3. 在Vmware中安装Hyper-V
  4. 招不招新人?IT经理很纠结.
  5. 使用netty编写IM通信界面
  6. (写给像我一样刚离开校园进入公司的小菜鸟)在领域架构下,如何实现简单的展示页面以及增删改查(第二步)...
  7. mysql 对插入超过表字段限制时的处理
  8. Angular 条件指令 ngIf 的一个例子
  9. 二进制权值计算 lsb_2020年二级计算机基础知识备考(第二章)
  10. vue自定义指令(详细)
  11. linux 中断和进程 传递,Linux内核之进程上下文和中断上下文的区别
  12. DeeCamp,(可能是)全球最好的 AI 夏令营
  13. 家用计算机的辐射,计算机辐射有多大?
  14. java中4种修饰符访问权限的区别
  15. java JDK 8 官网下载网址/清华镜像/华为镜像
  16. 画图相关 ppt visio 画图高清转移到word中
  17. 认真学习设计模式之适配器模式(Adapter Pattern)/包装器模式
  18. JS 怎么将一个对象的值作为另一个对象的key
  19. java安卓字体_Android中添加外部字体库和竖直排列字体
  20. [Processing]在画布上写文本

热门文章

  1. Android学习指南 第六讲:用户界面 View(二)
  2. P1352 没有上司的舞会
  3. codeforce R 491 (div2)
  4. 团队-科学技术器-模块测试过程
  5. Vue源码后记-更多options参数(1)
  6. linux文件夹权限问题
  7. 类与类集合的基本使用
  8. 使用 FTP 迁移 SQL Server 数据_迁移数据_快速入门(SQL Server)_云数据库 RDS 版-阿里云...
  9. MFC中小笔记(四)
  10. Form表单标签的Enctype属性的编码格类型