论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
数据库
›
Mysql
›
Paxos算法概述:从Basic Paxos到Fast Paxos及在Zookeepe ...
Paxos算法概述:从Basic Paxos到Fast Paxos及在Zookeeper中的应用 ...
我爱普洱茶
金牌会员
|
2024-8-21 18:06:29
|
显示全部楼层
|
阅读模式
楼主
主题
988
|
帖子
988
|
积分
2964
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
目次
Basic Paxos算法概述
Fast Paxos算法概述
Fast Paxos相对于Basic Paxos的改进
在Zookeeper中的应用
Basic Paxos算法概述
Basic Paxos算法是一种经典的分布式划一性算法,用于解决分布式系统中的划一性问题。它主要用于确保在一个分布式系统中,纵然在网络不可靠的情况下,也能达成划一的决策。Basic Paxos算法主要涉及以下几种角色:
Proposer(提议者)
:负责发起提议的实体。
Acceptor(接受者)
:负责接受或拒绝提议的实体。
Learner(学习者)
:从接受者那里学习到最终决定的实体。
Basic Paxos算法分为两个阶段:
Prepare(准备)
:Proposer选择一个唯一的轮次号(Round Number),并向Acceptor发送一个prepare哀求。Acceptor在收到prepare哀求后,如果该哀求的轮次号大于之前收到的所有prepare哀求的轮次号,Acceptor会记录这个轮次号,并且承诺不再相应更低轮次号的prepare哀求。Acceptor还会返回一个promise消息给Proposer,其中包含它之前接受过的最高轮次号及对应的值。
Accept(接受)
:Proposer根据收到的promise消息选择一个值(通常是最高轮次号的值),然后向Acceptor发送一个accept哀求。如果Acceptor已经承诺并且接受了一个更高轮次号的prepare哀求,它将接受这个值,并且不再接受更低轮次号的值。当大多数Acceptor接受了一个值时,这个值就被以为是被决定的。
Fast Paxos算法概述
Fast Paxos算法是对Basic Paxos的一种改进,旨在提高性能,尤其是在大多数情况下可以或许镌汰通讯轮次。Fast Paxos算法同样涉及到Proposer、Acceptor和Learner的角色,但它的流程有所不同:
Pre-Prepare(预准备)
:Proposer选择一个值和一个轮次号,并直接向Acceptor发送pre-prepare消息。这个消息包含了提议的值和轮次号。
Prepare(准备)
:如果Acceptor还没有收到更高轮次号的pre-prepare或prepare消息,它会接受这个pre-prepare消息,并向Proposer发送一个accept消息,表示它已经准备好接受这个值。
Accept(接受)
:如果Proposer收到了大多数Acceptor的accept消息,它就可以直接向Acceptor发送一个accept哀求,Acceptor会接受这个值。
Learn(学习)
:当大多数Acceptor接受了某个值时,Learner会从Acceptor那里学习到这个值,并将其视为最终决定的值。
Fast Paxos相对于Basic Paxos的改进
镌汰通讯轮次
:在多数情况下,Fast Paxos只须要一轮通讯就能完成一个决定,而在Basic Paxos中至少须要两轮通讯。
提高吞吐量
:Fast Paxos允许在某些情况下并行处理多个决定,从而提高了系统的吞吐量。
在Zookeeper中的应用
Zookeeper利用了基于Fast Paxos算法的改进版本——Zab协议。Zab协议联合了Fast Paxos的优点,同时也考虑到了Zookeeper特有的需求,例如在Leader选举和数据同步方面举行了优化。Zab协议可以或许更快地完成Leader选举,并在集群成员之间高效地同步数据,以确保数据的划一性。
总的来说,无论是Basic Paxos还是Fast Paxos,它们都是为了包管分布式系统中数据的划一性和准确性。Fast Paxos通过镌汰通讯轮次来提高服从,尤实在用于须要高吞吐量和低耽误的应用场景。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
我爱普洱茶
金牌会员
这个人很懒什么都没写!
楼主热帖
事务
KAFKA EAGLE 监控MRS kafka之操作实践 ...
大数据揭秘丨疫情影响下亚马逊女性夹克 ...
初学Vue(全家桶)-第16天(vue-router ...
Java 中怎样将 bytes 转换为 long 类型 ...
信息系统安全运维整改参考
OpenHarmony轻量系统开发【1】初始Open ...
如何优雅的备份MySQL数据?看这篇文章 ...
Metasploit(msf)利用ms17_010(永恒 ...
Python教程:高级特性
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
SQL-Server
快速回复
返回顶部
返回列表