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

怎样建设有价值的网站小程序开发文档

怎样建设有价值的网站,小程序开发文档,动易网站栏目,南通做网站推广的公司点击上方“程序员小灰”,选择“置顶公众号”有趣有内涵的文章第一时间送达!————— 第二天 —————————————————什么是拜占庭将军问题?在很久很久以前,拜占庭是东罗马帝国的首都。那个时候罗马帝国国土辽阔&a…

点击上方“程序员小灰”,选择“置顶公众号”

有趣有内涵的文章第一时间送达!



640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1



640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1



—————  第二天  —————



640?wx_fmt=jpeg



640?wx_fmt=jpeg



640?wx_fmt=jpeg



640?wx_fmt=jpeg



640?wx_fmt=jpeg



————————————



640?wx_fmt=jpeg

640?wx_fmt=jpeg



640?wx_fmt=jpeg



640?wx_fmt=jpeg



什么是拜占庭将军问题?


在很久很久以前,拜占庭是东罗马帝国的首都。那个时候罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信使传递消息。


640?wx_fmt=png



在打仗的时候,拜占庭军队内所有将军必需达成一致的共识,才能更好地赢得胜利。但是,在军队内有可能存有叛徒,扰乱将军们的决定。


640?wx_fmt=jpeg


这时候,在已知有成员不可靠的情况下,其余忠诚的将军需要在不受叛徒或间谍的影响下达成一致的协议。


莱斯利·兰伯特( Leslie Lamport )通过这个比喻,表达了计算机网络中所存在的一致性问题。这个问题被称为拜占庭将军问题



640?wx_fmt=jpeg



640?wx_fmt=jpeg



什么是 Raft 算法?


Raft 算法是一种简单易懂的共识算法。它依靠 状态机 主从同步 的方式,在各个节点之间实现数据的一致性。


在学习Raft算法的时候,大家需要了解Raft的两个核心要点:


1.选取主节点


2.同步数据



不难理解,使用主从同步的方式,可以让集群各个节点的数据更新以主节点为准,从而保证了一致性。那么,如何选取主节点呢?


640?wx_fmt=jpeg



640?wx_fmt=jpeg



640?wx_fmt=jpeg



我们的出生,离不开无数小蝌蚪之间的激烈竞争。在竞争的过程中,某个速度最快运气最好的小蝌蚪最终胜出,让我们诞生到了这个世界。


同样道理,Raft算法在选择主节点的过程中,也是通过多个节点之间的投票竞争


说到这里,不得不说一下Raft算法的状态机。Raft算法为节点定义了三种角色:


1.Leader(主节点)

2.Follower(从节点)

3.Candidate(参与投票竞争的节点


让我们来看一看选主的具体流程:


第一步,在最初,还没有一个主节点的时候,所有节点的身份都是Follower。每一个节点都有自己的计时器,当计时达到了超时时间(Election Timeout),该节点会转变为Candidate。



640?wx_fmt=png



第二步,成为Candidate的节点,会首先给自己投票,然后向集群中其他所有的节点发起请求,要求大家都给自己投票。



640?wx_fmt=png



第三步,其他收到投票请求且还未投票的Follower节点会向发起者投票,发起者收到反馈通知后,票数增加。


640?wx_fmt=png



第四步,当得票数超过了集群节点数量的一半,该节点晋升为Leader节点。Leader节点会立刻向其他节点发出通知,告诉大家自己才是老大。收到通知的节点全部变为Follower,并且各自的计时器清零。



640?wx_fmt=png



这里需要说明一点,每个节点的超时时间都是不一样的。比如A节点的超时时间是3秒,B节点的超时时间是5秒,C节点的超时时间是4秒。这样一来,A节点将会最先发起投票请求,而不是所有节点同时发起。


为什么这样设计呢?设想如果所有节点同时发起投票,必然会导致大家的票数差不多,形成僵局,谁也当不成老大。


那么,成为Leader的节点是否就坐稳了老大的位置呢?并不是。Leader节点需要每隔一段时间向集群其他节点发送心跳通知,表明你们的老大还活着。



640?wx_fmt=png



一旦Leader节点挂掉,发不出通知,那么计时达到了超时时间的Follower节点会转变为Candidate节点,发起选主投票,周而复始......



640?wx_fmt=png



640?wx_fmt=jpeg



640?wx_fmt=jpeg



让我们来看一看数据同步的流程:


第一步,由客户端提交数据到Leader节点。



640?wx_fmt=png



第二步,由Leader节点把数据复制到集群内所有的Follower节点。如果一次复制失败,会不断进行重试。



640?wx_fmt=png



第三步,Follower节点们接收到复制的数据,会反馈给Leader节点。



640?wx_fmt=png



第四步,如果Leader节点接收到超过半数的Follower反馈,表明复制成功。于是提交自己的数据,并通知客户端数据提交成功。



640?wx_fmt=png



第五步由Leader节点通知集群内所有的Follower节点提交数据,从而完成数据同步流程。



640?wx_fmt=png




共识算法的应用场景?



640?wx_fmt=jpeg



640?wx_fmt=jpeg



640?wx_fmt=png



640?wx_fmt=jpeg



640?wx_fmt=jpeg



Paxos 算法:

早期的共识算法,由拜占庭将军问题的提出者 Leslie Lamport 所发明。谷歌的分布式锁服务 Chubby 就是以 Paxos 算法为基础。


ZAB 算法:

Zookeeper 所使用的一致性算法,在流程上和 Raft 算法比较接近。


PBFT 算法:

区块链技术所使用的共识算法之一,适用于私有链的共识。



640?wx_fmt=jpeg




—————END—————


640?wx_fmt=png



喜欢本文的朋友们,欢迎长按下图关注订阅号程序员小灰,收看更多精彩内容

640?wx_fmt=jpeg

http://www.lbrq.cn/news/2599687.html

相关文章:

  • 自己做的网站涉黄阿里指数官网最新版本
  • 免费制作网站和网页成都seo培
  • 建设雅马哈摩托车官网报价及图片网站关键词排名优化
  • 网站建设 软件开发网站搜索引擎优化情况怎么写
  • 自己做网站如何月入3k如何成为app推广代理
  • dw做网站实例项目推广网
  • 美武汉有什么网站建设公司策划营销
  • 开发公司 张庆网站建设排名优化
  • 电脑版和手机版网站怎么做企业网站建设需求分析
  • 长沙岳麓区做网站郴州网络推广公司排名
  • wordpress+爱情主题公园seo排名分析
  • 做网站需要先买域名吗seo有哪些经典的案例
  • seo整站优化公司100%能上热门的文案
  • 深圳网站制作公司深圳网站制作公司seo和sem的区别是什么?
  • 外包服务属于什么行业百度网站的优化方案
  • 东莞工商注册代办公司注册沈阳seo排名收费
  • 房山青岛网站建设河南怎样做网站推广
  • 奶茶电商网站建设长沙靠谱seo优化费用
  • 网站开发需要准备什么软件网站如何优化
  • 惠州网站建设价格2022年传销最新消息
  • 介绍一个电影的网站模板企业网页设计公司
  • 沭阳做网站的公司百度广告投放技巧
  • 做团购网站有什么难处百度搜索大数据查询
  • 许昌市网站开发自动优化app
  • 太原网站建设方案策划seo内部优化具体做什么
  • 帮人做网站要怎么赚钱如何宣传推广自己的产品
  • 网站建设销售好做扬州seo博客
  • 阿里云服务器 多个网站百度网站下拉排名
  • 360度网站模板网站优化招商
  • 医院哪个科室负责网站建设客户管理系统
  • 417页PDF | 2025年“人工智能+”行业标杆案例荟萃
  • 【计算机网络 | 第2篇】计算机网络概述(下)
  • Demo-LangGraph构建Agent
  • Android Telephony 框架与横向支撑层
  • LLM大模型开发-SpringAI:ChatClient、Ollama、Advisor
  • Linux网络编程 --- 多路转接select