当前位置: 首页 > news >正文

网站如何做移动适配前端seo是什么意思

网站如何做移动适配,前端seo是什么意思,关闭网站弹窗代码,网站接入查询写在前面 分布式共识是分布式系统中的重要内容,本文来一起看下,一种历史悠久(1998由兰伯特提出,并助其获得2003年图灵奖)的实现分布式共识的算法Paxos。Paxos主要分为两部分,Basic Paxos和Multi-Paxos,其中…

写在前面

分布式共识是分布式系统中的重要内容,本文来一起看下,一种历史悠久(1998由兰伯特提出,并助其获得2003年图灵奖)的实现分布式共识的算法Paxos。Paxos主要分为两部分,Basic Paxos和Multi-Paxos,其中Basic Paxos用来使得一个值在多个副本集中达成共识,Multi-Paxos用来使得多个值在副本集中达成共识,所以Multi-Paxos可以看做是basic paxos的批量版本。下面我们就一起来看下吧!

1:paxos算法的角色和阶段

一部电影有各种角色(主角,配角,龙套),一部电视剧也一样,自然的,一个算法也是如此,paxos亦是如此,所以我们先来看下paxos都有哪些角色:

1:提议者(Proposer),负责发起某个值的修改,一般是多个副本中收到更新请求的那个副本
2:接受者(Acceptor),对提议的值进行投票,一般是多个副本中其他副本
3:学习者(learner),被动接收达成共识的值,一般是slave

可参考下图:

在这里插入图片描述

在这里插入图片描述

2:basic paxos

假定有客户端1和客户端2(作为提议者角色),在时间1和时间2(时间1早于时间2)分别发起设置x为2和x为7的提议,接受者有节点A,节点B,节点C,如下图:

在这里插入图片描述

该算法一共分为两个阶段,分别是准备阶段和接受阶段。另外达成共识传递的数据是(提案编号,提案值),提案编号可以认为是数据的版本号,时间越新,则编号越新,提案值就是要达成共识的值,首先我们按照上图进入准备阶段。假设客户端1的提案编号是1000,客户端2的提案编号是2000,则客户端1的完整消息是(1000,2),客户端2的完整消息是(2000,7)

2.1:准备阶段

注意该阶段发送的消息,不需要提案值,因为只是确定在接受阶段使用哪个提案编号即可。

在时间1,节点A和节点B收到了客户端1的消息(1000,),节点C收到了客户端2的消息(2000,),因为此时是各个节点收到的第一条消息,所以都会返回尚无提案,以节点A为例,返回尚无提案的意思是,当前自己还没有通过任何提案,且保证,之后如果是收到小于1000的提案,则不会做任何响应,且不会通过任何编号小于1000的提案,如下图:

在这里插入图片描述

在时间2,节点A和节点B收到了客户端2的消息(2000,)因为2000>1000,所以节点A和节点B会给客户端2返回尚无提案,节点C收到了客户端1的消息(1000,),因为1000<2000,所以节点C不会对客户端1做出任何的响应,而是直接丢弃,如下图:

在这里插入图片描述

到这里准备阶段结束,进入接受阶段。

2.2:接受阶段

此时节点A,节点B,节点C所能够接受的最小提案编号是2000,所有提案编号小于等于2000的消息都将会被丢弃,如下图,

在这里插入图片描述

在一段时间后,客户端1和客户端2分别将消息(1000,2),(2000,7)发送给节点A,节点B,和节点C,如下图:

在这里插入图片描述

因为此时节点A,节点B,节点C所能够接受的最小提案编号是2000,所以来自客户端1消息(1000,2)将会被丢弃,而最终消息(2000,7)被接受,如下图:

在这里插入图片描述

这样节点A,节点B,节点C就对x的值达成了共识,即x=7

2.3:源码实现

以上准备阶段和接受阶段源码实现参考这里 ,运行截图解释如下:

在这里插入图片描述

3:multi paxos

首先说明,兰伯特的论文中关于multi paxos的描述很抽象,并没有给出具体的方案以及实现,只是给出了一些概念,所以准确来说multi paxos只是一种思想,而非一种具体的算法,但是可以基于这种思想来提供具体的算法实现,比如chubby(类似于zookeeper的一种分布式服务框架)对于multi paxos的实现和落地。以及raft算法也是其具体实现。

在basic paxos中,分为了准备阶段和接受阶段,其中准备阶段用于确定某个数据的最新版本的修改,接受阶段用于同步值到所有的节点。这里需要准备阶段的原因是,可能存在多个提议者提案有冲突的情况,那么如果我们能够解决提案冲突的问题,是不是就可以将准备阶段取消掉了(会直接减少一半的网络交互,性能会得到极大的提高),multi paxos解决这个问题的方式是来引入一个leader节点,此时结构可能如下:

在这里插入图片描述

所有提案都从这个leader发出,因为只会从一个节点发出提案,也就不存在冲突的问题了,如下图:

在这里插入图片描述

那么当我们有多个值需要达成共识时,只需要进行多轮优化后的basic paxos就可以了。

写在后面

小结

本文分析了paxos算法的basic paxos和multi paxos,并详细分析了basic paxos,然后给出了具体的代码实现。最后,分析了basic paxos存在的问题,以及multi paxos基于此的优化。希望本文能够帮助到你。

参考文章列表

http://www.yayakq.cn/news/211001/

相关文章:

  • 机器配件做外贸上什么网站黄骅贴吧二手房
  • 宁波网站建设营销定制discuz x3.2整合wordpress
  • 美食网站开发目的二维码在线生成
  • 青海制作网站在线网站免费网站入口
  • 网站建设运营法律风险防范沈阳网站设计开发
  • 南昌做网站电话商务网站建设实训心得体会
  • 网站建设项目申请wordpress 开发api
  • 外包公司 网站建设 上海网站设计基本流程
  • 网站百度地图怎么做本地网站搭建教程
  • 代做毕设的网站园林在线设计平台
  • 企业建网站开发网站上如何做相关推荐
  • 永久免费的网站空间百度快照怎么看
  • 中国信誉建设网站微网站套餐
  • 做淘宝客如何引出图片到网站网页版qq游戏大厅
  • 建设门户网站的请示网站建设网站徒手整形培训
  • 专业装修设计网站国外物流公司网站模板
  • 做网站的那些事专业外贸网站建设公司排名
  • 做淘宝网站买个模版可以吗嘉兴建站网站模板
  • 公司网站横幅如何做网络推广的基本渠道
  • 盐山县做网站珠宝首饰商城网站建设
  • 上海市住房和城乡建设管理局网站wordpress发表图片
  • 个人网站的内容南通外贸网站制作
  • 响应式网站建设定制建设网络平台费用
  • 深圳大浪有做网站的吗顺德手机网站设计信息
  • 网站建设费用模板体育网站建设的必要性
  • 网站建设亿码酷出名5手机微信怎么创建公众号
  • 网站禁止访问怎么解除电影采集网站怎么做
  • 网站建设维护协议吉林网站备案
  • 遵义网站制作报价seo快速优化文章排名
  • 上海网站注销php网站开发工程师任职要求