范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

理解RAFT分布式共识算法

  理解 RAFT 分布式共识算法——第 1 部分
  为什么我们需要共识
  我们大多数人在我们的编程生涯中至少使用过一次关系数据库,如 MySQL、Oracle。当您 INSERT  或 UPDATE  一个值然后对其执行  SELECT  时,您会得到最新的值——这通常是因为我们使用一台机器来管理我们的数据。
  现在想象一下,您有大量数据分布在 10 台机器上。为了更好地提供数据,您已启用数据复制。假设一条数据在 3 台机器上复制,应用程序是全球性的,然后想从世界任何地方查询准确的数据,为了解决这个问题,我们需要一种机制,通过该机制,多个服务器可以就一个值达成一致,并且无论哪台机器为您的 SELECT  请求提供服务,每次都会得到相同的结果。
  简而言之, 您需要对分布式系统有一个连贯的视图,这样它的行为就好像只有一台机器在为所有请求提供服务,这就是我们需要达成共识的地方。
  如果你想构建一个强一致的分布式系统(CAP定理中的CP系统),需要有共识。 Raft
  Raft(复制和容错)是解决这个问题的算法/协议。它来自于 2014 年斯坦福大学 Diego Ongaro 和 John Ousterhout 的博士论文。 Raft 的设计易于理解,前身算法如 Paxos 和 Multi-Paxos 是众所周知的共识算法,已知很难理解理解,只有少数人能正确理解它们。
  Raft 没有标准的实现, 它只是定义了几个步骤以容错的方式达成共识 。目前已经有数百种 Raft 实现,大多数工程师在他们的一生中不需要实现任何共识算法,但是理解分布式系统的核心并没有什么坏处。
  Q. Raft 是如何实现的?
  A.  Raft 通常被实现为服务内部的一个模块,如分布式数据库或分布式键值存储如 etcd等。Raft 本身不是作为服务或微服务实现的。它就像系统中的后台进程一样工作。 前提条件概念
  在我们深入了解 Raft 之前,请先了解以下概念。 法定人数
  如果你的分布式系统有 N  节点,你至少需要 (N/2) + 1  节点来就一个值达成一致——基本上你需要 多数票 ( 超过 50% )来达成共识,就像任何国家的宪法选举一样。多数投票确保当 (N/2) + 1  节点运行和响应时,即使存在网络分区或系统中的其他故障,至少一个节点包含读取和写入请求中给定数据的最新值。
  问:当我们有一个基于仲裁的节点系统时,我们可以容忍多少个节点故障 N  ?
  A. 如果 N  是奇数,我们可以忍受 N/2  节点故障。如果 N  是偶数,我们可以忍受 (N/2)-1  节点故障。
  下面是一个简单的表格来说明这个事实:
  Q. 生产时应该选择偶数还是奇数 N  ?
  A. 考虑一下 N = 4  ,根据上表,所需的多数是 3  & 你只能容忍 1  节点故障。对于 N = 5  ,大多数仍然是 3  但可以容忍 2  节点故障。
  问:生产中 N 的最差值是多少?
  A. 如果 N = 1  or  N = 2  ,如果丢失了一个节点,将丢失整个系统,因为您实际上根本无法容忍任何节点故障。事实上 N = 2  ,您实际上已经使系统中的单点故障翻了一番——如果任何一个节点出现故障,您的整个系统就会出现故障。所以在生产中选择一个奇数值 N   3  。
  问:在生产中什么是好的合理 N  ?
  A. 这个数字显然取决于您对数据、带宽、吞吐量和成本要求的估计。但是, 5  是一个不错的数字,因为 2  节点总数停机,而 3  节点仍在运行。
  问:如果大多数节点不可用会怎样?
  理想情况下,系统可能会完全停止响应,具体取决如何配置读写用例。通常写入完全停止,但如果您将读取请求设计为最终一致,则可用节点仍可能为读取请求提供服务。 节点状态
  Raft 节点可以处于三种状态: Leader  ,  Follower  &  Candidate  。我们将在后面的部分看到节点转换是如何发生的。 现在只需要记住  Raft 是一个基于领导者的共识协议  ,  日志总是从领导者流向追随者  。  日志
  这不是常规日志文件,是基于磁盘的文件,通常称为日志条目的对象以二进制数据的形式顺序添加。 已提交和未提交的日志只有当集群中的多数节点复制日志条目时,才会提交日志条目。提交的日志永远不会被覆盖。 提交的日志是持久的,最终会被 Raft 集群中的所有节点执行。 如果客户端命令/日志条目尚未复制到大多数集群节点,则称为未提交日志。 未提交的日志可以在追随者节点中被覆盖。 状态机
  状态机本质上可能非常复杂。通常这意味着——根据输入到系统的输入,数据(键)的状态会发生变化。在 Raft 上下文中,认为这就像一个存储密钥最终商定值的模块。 每个节点都有自己的状态机 。Raft 必须确保无论提交什么日志条目,它们最终都会应用于状态机,该状态机作为内存中数据的真实来源。对于容错,状态机也可以持久化。 学期
  表示节点充当领导者的时间段,该概念基于逻辑时间(不是全局时间) - 它只是由每个节点单独管理的计数器 。一旦一个任期结束,另一个任期就会从一个新的领导者开始。 即使在给定的时间点,节点之间的学期可能会有所不同,但 Raft 有一种机制可以将它们同步并收敛到相同的值 。
  也称为 租约 或 领导租约 ,只是它的另一个名称。 RPC
  像 Facebook 移动应用程序通过 HTTP 之上的 REST API 与 Facebook 服务器通信一样,参与 Raft 的节点之间使用 TCP 之上的远程过程调用 (RPC) 进行通信。该协议适用于跨数据中心、内部系统和服务(不是面向用户的产品或服务)的通信。
  Raft 使用两个不同的 RPC 请求。在高水平: RequestVote (RV): 当一个节点想成为领导者时,它通过发送这个请求来请求其他节点为它投票。 AppendEntries (AE): 通过此消息,领导者要求追随者将条目添加到他们的日志文件中。领导者可以发送空消息以及向追随者指示它还活着的心跳。
  Q. 基于领导者的系统的主要优势是什么?
  A. 当抽象基于领导者时,系统变得易于理解和操作。客户通常通过领导者进行交互,领导者负责重要的决策制定、系统的元数据状态。
  问:基于领导的系统的主要缺点是什么?
  一个 。领导者成为单点故障。因此,系统应该能够在当前领导者失败时快速做出反应以选择另一个领导者。此外,由于所有客户端交互都通过领导者进行,因此系统可能会在规模上变得更慢。 随机超时
  Raft 使用随机 选举超时 的概念——跟随者等待成为候选者的时间量(有关状态转换的更多详细信息,请参见图 3)。当集群启动时,每个节点都会为自己选择一个介于 150  - 300  毫秒之间的随机超时,并开始倒计时。现在有2种可能: 在节点超时之前,它会收到来自另一个节点的消息——它可能是来自领导者的心跳或日志复制消息或来自另一个对等方的投票请求。在这种情况下, 超时被重置并且倒计时再次开始 。 超时期间节点根本没有收到任何消息。
  Q. 为什么选择随机超时?A. 假设所有节点都有固定的超时时间。因此,在没有领导者的情况下,它们同时超时并且无法保证领导者选举,因为该过程可以重复多次或无限期地并且所有节点再次开始倒计时相同的超时值。所以随机化在这里有帮助。如果领导者仍未确定,则该过程会以跨节点的一组新的随机超时重新开始,最终我们将拥有一个领导者。经过一两次试验,我们不太可能没有选择领导者。 终生期限
  当集群中没有领导者并且节点 X  超时时,它会启动一个新的选举期限, T  通过添加 1  上一个任期的值来增加其任期。提醒您一下——术语是由所有节点管理的本地计数器。这里又有2个案例: 如果 X  被选为新的领导者,任期 T  继续,即;添加到领导者 X  和此后的所有新日志条目都使用 term 传播给追随者 T  。 X  输掉选举,新的选举开始于新的任期 U  where  U > T  。
  因此,从图形上看,术语图如下所示:

她是中国女排第一美女,与央视导演闪婚闪离,今34岁依旧单身一hr1987年2月23日薛明出生于北京大兴。薛明出生的这一天正好是正月十五,于是薛明的父母就给她起名薛明,寓意明月初上明亮。薛明的童年时光就是在北京大兴度过的,在很小的时候薛明的朱芳雨做出争议引援!球迷抵制加入,实力太强影响联赛平衡大家都知道CBA的第二阶段比赛已经开始,而现在还有不到半个月的时间,各个球队也是抓紧的备战,特别是在第二局的比赛中,球队的实力将会更加接近,不像在第一阶段,大多数球队都是本土球员,中超再失两位传奇外援?穆里奇已同球队解约,艾哈正在家乡找下家在中超第15轮角逐中,沧州雄狮队以2比4不敌武汉队。与其说新帅萨布利奇与球队的磨合不到位,倒不如说缺少穆里奇艾哈迈多夫两位绝对核心球员的沧州雄狮队,暂不具备赢球的能力。据了解,两人好消息!中国男篮传奇名将正式出山,重返CBA让人期待第一阶段福建队仅赢下了2场比赛,排在联盟倒数第三的位置,第二阶段福建队虽然有小外援高登,但恐怕也是难以打进季后赛,毕竟上赛在有王哲林大外援尼科尔森的情况下,高登也没有带领福建队打进中国足坛神剧情!91分钟02落后,补时连进2个点球绝平,疯狂庆祝北京时间12月15日,2021年女乙联赛半决赛,苦战点球大战,陈婉婷率领的海南琼中女足成功取胜。比赛堪称神剧情,第91分钟,海南琼中女足还是02落后,但伤停补时3分钟,她们获得了2赵睿事件持续发酵!到底是无奈还是炒作?近日,一名自称辽宁球迷的女网友发布了一条有关于她与广东男篮主力后卫赵睿聊天对话的截图。大致内容就是赵睿暧昧语录频出,liao妹未成年。此消息一出,立马引起轩然大波。作为赵睿方面,虽今日大寒,老辈人讲究3要喝,3不做,照着来,寒冬安全顺利过今日大寒,还有十天就过年了,今日10时39分迎来二十四节气中最后一个节气大寒大寒大寒,防风御寒,注意持续保暖,避免感冒天冷气燥,皮肤易干燥瘙痒,除保暖外,日常多饮水,避免沐浴过频大隔夜菜到底能不能吃?医生解释除了这4种,其他或可放心吃勤俭节约是中华民族的传统美德,尤其是对于老一辈的人来说,更是将勤俭节约刻在了骨子里,对于前一天晚上剩下的饭菜,通常会打包放进冰箱,第2天加热后继续食用。但是近几年来,随着人们对营养年夜饭,不论贫富,必备的6道吉祥菜记得端上桌!好吃好看年味足除夕年夜饭,不论贫富,饭桌上必备的6道吉祥特色菜记得端上桌!寓意吉祥,好吃好看年味足!除夕将近,年味渐浓,春节的脚步也越来越近了!这段时间,大家都在忙着打扫卫生办年货。大家都知道,来几道超级下饭的家常小炒菜,浓香四溢,味道超棒的,都来试试吧大家好,我是吖吖今天又来分享美食啦如果你每天不知道吃什么关注我,每天有不同的美食参考,想知道今天的美食有哪些吗,跟着我一起往下看。辣椒炒肉准备食材瘦肉青椒淀粉蒜具体步骤1瘦肉洗净切清爽出众的瑜伽裤穿搭展现街头时尚感,轻盈舒适又耐看,又可外穿清爽出众的瑜伽裤穿搭展现街头时尚感,轻盈舒适又耐看,又可外穿。瑜伽裤的搭配是每个女生生活中都会接触到的一个话题,在搭配的时候我们一般会考虑到色彩和款式等因素,不过现在瑜伽裤的款式繁
1299元起!新款华为MatePadSE开启预定配备2K屏CNMO新闻近几年网课盛行,很多家长都给自家孩子购置平板电脑用于上网课。2月10日,华为发布了MatePadSE10。4英寸,售价1299元起,定金100元可抵200元,并将于2月新版微软必应很多ChatGPT回答来自知乎,后者股价暴涨IT之家2月8日消息,今天微软公布了集成ChatGPT的新版必应搜索,而在必应中文网页,回答问题就就有不少答案来自知乎,这也带动了知乎股价的暴涨,截至IT之家发稿,知乎港股股价大涨3岁以下婴幼儿退税流程来了,每月1000元标准!一年一度的个税汇算即将开始,有宝宝的家长们,一定要申报3岁以下婴幼儿照护专项附加扣除,每孩每月1000元标准,可以省下不少钱!我是一个二胎宝妈,刚刚在个税app上完成了专项附加扣除生源减少,潍坊不少幼儿园摸底生源提前数月记者秦国玲2月刚开始,潍坊城区部分幼儿园就已经发布2023年秋季新生摸底通知。往年,幼儿园生源摸底都在六七月份进行,今年为何新年刚过就开始摸底了?记者调查了解到,生源减少是主要原因生育登记取消结婚限制无异于有病乱投医,不从根源解决问题就无解近日,四川卫健委为了鼓励生育出新规。对于生育登记取消了是否结婚的限制这一条,对提高人口出生率,几乎起不到任何作用,相反还可能引发新的社会矛盾。现在人口出生率下降是不错,想办法鼓励生为何川藏线上,常有司机让穷游女蹭车?3名老司机说出经历大家到川藏线旅行时,随处都能看到绝美的风景。(此处已添加小程序,请到今日头条客户端查看)要说在这条道路上,还有其他的特色。不过行驶在川藏线上会碰到许多人,经常有人蹭车,大多都是穷游考上遴选是什么体验?怎么备考才能一次就上岸?上岸遴选的我,已经在北京展开了新生活。遴选前,我还是一个挣扎在小城市的普通J层人员,遴选后,我终于是来到了首都,能够一瞻北京景点的风彩了。不怕你们笑话,我遴选前从来没有到过北京,虽水墨天池初春时节,四川省广安华蓥市华蓥山天池湖湿地公园的湖水中裸露出线条优美的金色湖床,在山峦的环绕下显得格外静谧,如同一幅灵动的水墨画。2023年2月5日,四川省广安华蓥市,早春的华蓥山购物团再抬头,低价游何时休?随着疫情管控的全面放开,市民们纷纷出游,欣赏风景放松心情,旅游行业得到强劲复苏。然而,作为屡禁不止的行业痼疾不合理低价游在春节旅游高峰又现抬头之势。2月6日,一则导游回应不达购物标中超2023首位新金主出炉3900亿巨无霸加盟,7年38亿投英超豪门聚焦中超CBA,独一无二球迷媒体点击右上角关注,不会后悔的2023年对于中超来说至关重要,经历了三个赛季的调整,联赛终于让外界看到了走出低谷的希望,毕竟过去经历了集中赛会制空场比赛Android14首次亮相优化折叠屏软件适配今天谷歌发布了Android14系统的首个开发者预览版,并公布了此次新系统的发展方向。Android14系统主要在提升续航流畅度和对折叠屏手机支持三个方面进行优化。对于Androi