barriers / 阅读 / 详情

raft接收器怎么用

2023-08-23 02:49:54
TAG: ra aft raf raft
共1条回复
meira

使用方法如下:

操作设备:戴尔笔记本电脑

操作系统:win10

操作程序:raft2.1

1、打开游戏,点击界面空白处继续。

raft

2、按住【R键】调整接收器方位然后点击【鼠标左键】进行放置。

3、在接收器左侧点击【E键】安装电池。

4、在接收器屏幕上可查看到天线的状况和位置。

5、通过右侧【箭头按钮】切换接收器频道,在屏幕上可查看频道内容。

相关推荐

raft英语是什么意思

raft,筏子,小筏
2023-08-15 03:29:481

raft回收器怎么做

raft回收器怎么做回收器的图纸在坐标位低悦置是3467的灯塔岛,1.爬上最高的灯塔,进门有一块白板,拾取白板上的《蓝图·循环器》就解锁回收器了。2.回到木船救散败上,打开研究桌,可以学习到回收器的制作方法,在制作菜单里找到回收掩付器,准备好材料就能够制作出一台回收器了。《RAFT》是由RedbeetInteractive制作AxolotGames于2018年5月24日发行的一款生存冒险类的PC游戏。[1]玩家们需通过各种资源求生并在木筏上建立自己的家园,还得小心食人鲨鱼的攻击。游戏仍处于抢先体验。
2023-08-15 03:29:551

Raft木筏求生新手常见问题汇总

Raft(木筏求生)是一款非常有趣的生存类游戏,玩家可以与好友在服务器中共同游玩,在2020年Steam夏促中许多玩家也通过史低价格购入了本作,下面就一起来看看本作的新手常见问题汇总吧。游戏评价优点:1.自带中文,多人游戏2.优化比刚发售的时候要好很多,目前处于抢先体验版本,且剧情的内容大部分玩家还是比较满意的。缺点:1.没有官方服务器,玩家只能自己做主机,很难保证24小时建设自己的小船船。2.与基友联机时经常会出现进不去的情况,就是黑屏,且官方没有解决方案。3.游戏bug较多,有的bug影响游戏体验。4.每次更新都有概率丢档5.剧情的内容不太充实,并且内容如同多个编剧写出来的剧本一样,很难理解官方到底要表达什么。新手常见问题汇总1.进游戏直接在水里,没有木板将电脑系统的时区设置成美国时区,这个方法不通用,但也解决过一部分玩家的问题。2.箱子打开后关不上只能重进游戏3.如何去大岛屿(抓动物那个)这段话有点长,认真阅读。不明白回复我。先研究雷达天线,雷达需要一台,电线需要三个,然后把这些放在二层以上的高度上,天线之间要距离远一些,大概3-4个木板的距离,雷达和天线也不要距离太近。开启后会给你一个地点,去了以后是雷达站,上到最顶层,看到小黑板的灯亮了以后下来。注意,有的地方需要按shift加速跳过去,另外不到最顶层,是没法触发大岛屿的坐标。下来后离开雷达站大概600-700米左右,雷达上的坐标会刷新。4.朋友进我的船,卡在木板里怎么办这个问题的解决方法不适用所有玩家,有的可以解决有的不行。双方下载同一个加速器并选择一个节点,然后再尝试,不行的话退款。5.杀死鲨鱼怎么没有掉东西拿矛一直捅尸体,鲨鱼尸体下沉后就不用捅了。6.为什么鸟窝里没有蛋版本改了,现在鸟只产羽毛,蛋需要捉大岛屿的火鸡。7.怎么防止鲨鱼咬木板当你游戏进入中期,且有了铁锭,就可以加固木筏,手里拿锤子,长按右键,建筑菜单第一行最后一个就是加固。需要两个金属锭和两个钉子。8.我的动物消失了这个问题我们也探讨过,但没有具体的解决方案。你抓到动物用围栏围起来,靠近岛屿的时候不要和岛屿发生碰撞,有大浪的时候也可能会导致动物莫名其妙消失。9.船长帽和飞行员帽怎么获得船长岛和飞机岛的遇见概率和小岛屿相同,是无法用雷达找到的。简单说就是看脸。10.如何获得羊毛羊奶做出剪刀,靠近羊驼,长按左键,如果没反应就是羊毛还没长出来,再等等。手里拿桶靠近山羊,长按左键。11.如何杀老鹰野猪哎。。。无法用语言描述,靠走位。铁箭大概12下左右老鹰就死了,他飞过来扔石头时,预判一下射弓箭,射完就跑不要看结果,射中老鹰会叫一声。野猪的话直接秦王绕柱打就可以了,找一棵粗点的树,绕着树打。12.为什么鲨鱼变成两只了困难模式下,鲨鱼每次死亡后,会有概率刷新1-3只,跟进游戏的人数没有关系。比如,刚进游戏时只有一只,你杀死后,鲨鱼可能会刷新1-3只,如果刷新了两只,两只都杀死才会再次刷新。鲨鱼数量不会超过3只。13.带鲨鱼头为什么不能驱赶鲨鱼这是吧里哪个完蛋玩意说的胡话。游戏里的头都是装饰品。不要信他们的。这帮人嘴里没有一句实话。另外戴鲨鱼头潜水到一定深度会触发深海章鱼彩蛋的谣言是我传的。这是假的。14.最开始的四块木板拆掉会怎样鲨鱼不香吗,非要拆木板,全拆光这个档就废了。15.如何进测试服先看前面这句话,测试服有丢档危险。谨慎。打开steam库,右键游戏,点属性,出来的面板里有一个测试活动,进去后点参加测试。等待下载就可以了。16.加固了船,鲨鱼还是会咬我之前在群里碰到过这个问题,那个新人发了截图,我一看就哭笑不得,他的船是四方形全铺满木板的,只加固了外围一圈,他以为可以防鲨鱼。你必须把所有一层的木板加固才不会咬。17.坐标在我后面,但是逆风过不去怎么办有引擎就用引擎过去,没有就继续往前走,走出一段距离他会重新刷新的。不用担心错过。18.雷达显示更新等官方下次更新19.在熊岛的毒潭死了,在床上复活一直死卡bug了,退出重进。啥时候人能生小孩子了再考虑动物吧。21.为什么我看到的坐标和别人不一样先问清楚谁是房主,然后以房主的坐标为主。
2023-08-15 03:30:031

Raft算法

Raft算法是解决分布式系统共识的问题的算法,Raft是基于Multi-Paxos的基础上做了简化和限制。不同于Paxos的难以理解,Raft设计的首要目的就是可理解性,一个易于理解、实现简单的分布式一致性协议。 Raft 将一致性算法分解成了几个关键模块,例如领导人选举、日志复制和安全性,本文将主要基于 raft论文 简单分析raft算法。 Raft是强领导(Strong leader)模型,一切以leader为主,比如日志只能由leader复制到其他服务器。所以leader的选举是非常重要的一部分。 首先介绍raft算法的三个服务状态: 任意时间集群中只能由一个leader存在。 Raft使用心跳机制实现leader选举。在服务启动的时候,处于follower角色,需要注意的是每个服务于leader的心跳超时的时间是随机的(150-300 毫秒)。 如上图,集群中有三个几点A、B、C,超时时间分别为150ms、200ms、300ms刚启动时任期编号都是0,都处于follower角色。节点A与leader的心跳超时时间最短,最先从follower状态转为candidate,并增加自己的任期编号,先给自己投上一张选票,并向集群中其他节点发送投票信息,当B、C节点接受到A的投票请求之后,在任期为1的这个阶段没有给其他节点投过票,便接受A的投票请求。此时节点A接受到了集群中超过一半的节点的投票,便成为任期为1的leader。 上诉是最简单的选举流程,里面有很多概念都需要解释,比如为什么超时时间不一样?任期编号是什么?投票比较的规则又是什么? 1. 任期编号 每个leader在当选期间都有一个自己的任期编号,它是全局单调递增的数字。每个节点都存储这当前的leader的任期编号,当处于candidate阶段的时候,发起投票的时候会把当前任期编号加一。 而且当一个节点接受到比自己任期高的请求时,会将自己的任期编号更新为高的任期编号,如果当前角色是leader,会从leader转换为follower角色。当接受到任期编号比自己小的请求时,节点会直接拒绝这个请求。 2. 投票比较规则 a. 先到先服务:一个节点在一个任期只能投一票,如果A、B节点都请求C节点投票,C节点如果先投给A之后、就会拒绝B的投票请求。 b.日志完整性:一个节点接受的投票信息如果它的日志比自身小,将会拒绝该投票请求。 c.过半策略:当某节点接受到了集群中超过一半的节点投票之后,成为该次任期的leader,向其他节点发送leader心跳。 d. 在等待投票期间,candidate 可能会收到另一个声称自己是 leader 的服务器节点发来的 AppendEntries RPC 。如果这个 leader 的任期号(包含在RPC中)不小于 candidate 当前的任期号,那么 candidate 会承认该 leader 的合法地位并回到 follower 状态。 3.随机超时 前面提高过,每个几点与leader的心跳超时时间是不同的,这样的好处在于避免瓜分票数的情况存在,能快速的进行leader选举。如果各个节点的超时时间都是一样的,就容易出现瓜分票数的情况存在,每个节点都没有获得超过一半的投票,就会开启下一轮的选举,选举时间就会很长。使用随机超时机制,正常情况下,一个时间段里只有一个节点发起投票请求。 下图是整个集群中服务角色变化的流程图。 Leader选举出来之后为客户端提供服务,将接受到的指令作为一个新的日志项追加到日志中去,然后并行的发起 AppendEntries RPC 给其他的服务器,让它们复制该日志项。当该日志项被安全地复制(过半的节点已复制完成),leader 会应用该日志项到它的状态机中(状态机执行该指令)然后把执行的结果返回给客户端。如果 follower 崩溃或者运行缓慢,或者网络丢包,领导人会不断地重试 AppendEntries RPC(即使已经回复了客户端)直到所有的 follower 最终都存储了所有的日志。 上图展示了日志的格式,一个日志项包含三部分 Leader通过 AppendEntries RPC 将日志复制到其他节点。 AppendEntries RPC: 接收者实现: 上诉是AppendEntries RPC的参数的接受流程。term与leaderId不用介绍很简单,而prevLogIndex、prevLogTerm的作用是日志的一致性检测,如果 follower 在它的日志中找不到包含相同索引位置和任期号的条目,那么他就会拒绝该新的日志条目。一致性检查就像一个归纳步骤:一开始空的日志状态肯定是满足 Log Matching Property(日志匹配特性) 的,然后一致性检查保证了日志扩展时的日志匹配特性。因此,每当 AppendEntries RPC 返回成功时,leader 就知道 follower 的日志一定和自己相同(从第一个日志条目到最新条目)。 正常操作期间,leader 和 follower 的日志保持一致,所以 AppendEntries RPC 的一致性检查从来不会失败。然而,leader 崩溃的情况会使日志处于不一致的状态(老的 leader 可能还没有完全复制它日志里的所有条目)。如下情况: 在 Raft 算法中,leader 通过强制 follower 复制它的日志来解决不一致的问题。这意味着 follower 中跟 leader 冲突的日志条目会被 leader 的日志条目覆盖。 Leader 针对每一个 follower 都维护了一个 nextIndex ,表示 leader 要发送给 follower 的下一个日志条目的索引。当选出一个新 leader 时,该 leader 将所有 nextIndex 的值都初始化为自己最后一个日志条目的 index 加1。如果 follower 的日志和 leader 的不一致,那么下一次 AppendEntries RPC 中的一致性检查就会失败。在被 follower 拒绝之后,leaer 就会减小 nextIndex 值并重试 AppendEntries RPC 。最终 nextIndex 会在某个位置使得 leader 和 follower 的日志达成一致。此时,AppendEntries RPC 就会成功,将 follower 中跟 leader 冲突的日志条目全部删除然后追加 leader 中的日志条目(如果有需要追加的日志条目的话)。一旦 AppendEntries RPC 成功,follower 的日志就和 leader 一致,并且在该任期接下来的时间里保持一致。 本机简单介绍了raft 的leader选举和日志复制,当然raft还有其他的特性本文并没有介绍,推荐去看raft的论文,完整的了解raft。 我之前 ZAB协议 的文章分析了zookeeper的zab协议,这里对比一下两者的异同。 最后 https://raft.github.io 这个网址详细介绍了raft协议。 https://time.geekbang.org/column/intro/279 https://raft.github.io/ https://github.com/maemual/raft-zh_cn/blob/master/raft-zh_cn.md
2023-08-15 03:30:111

raft捕虫网有什么用

《RAFT》中的捕虫网的作用是为了获得蜜蜂罐子。《RAFT》里玩家需要先制作一个捕虫网,之后用雷达导航到熊岛(只有有熊的岛屿才有蜜蜂)。在岛上找到蜜蜂,捕虫网对着蜜蜂使用就可以获得蜜蜂罐子。之后回到木筏的工作台研究蜜蜂罐子,就可以学习蜂箱的制作方法。《RAFT》是由Redbeet Interactive制作Axolot Games于2018年5月24日发行的一款生存冒险类的PC游戏。玩家们需通过各种资源求生并在木筏上建立自己的家园,还得小心食人鲨鱼的攻击。游戏仍处于抢先体验。《RAFT》是一款以第一人称为视角,在海上生存冒险的游戏,美术风格为3D写实系风格的横版生存加建造类的休闲游戏。游戏中主角将在一片漫无边际的海洋上,靠一只小木筏和一只钩子努力求生。玩家要做的就是利用钩子勾住海洋上漂流的东西,利用这些物资制作有用的工具、武器,来加固自己的木筏,同时在海上将自己木筏建造坚固变大的建造玩法。
2023-08-15 03:30:201

raft算法是什么呢?

raft是一种更为简单方便易于理解的分布式算法,主要解决了分布式中的一致性问题,相比传统的Paxos算法,Raft将大量的计算问题分解成为了一些简单的相对独立的子问题,相比于传统的一致性算法Paxos,Raft有一些自己的独特的特性,比如增加了强领导性,优化了领导的选举过程,在成员发生变化之后依然能够很好的进行工作。以下是文章部分内容的翻译,来自Github,由于字数限制只摘取了算法的核心部分,建议阅读原文,寻找一种易于理解的一致性算法。raft的内容一致性算法允许一组机器像一个整体一样工作,即使其中一些机器出现故障也能够继续工作下去。正因为如此,一致性算法在构建可信赖的大规模软件系统中扮演着重要的角色,在过去的10年里,Paxos算法统治着一致性算法这一领域,绝大多数的实现都是基于Paxos或者受其影响。同时Paxos也成为了教学领域里讲解一致性问题时的示例,但是不幸的是,尽管有很多工作都在尝试降低它的复杂性,但是Paxos算法依然十分难以理解,并且,Paxos自身的算法结构需要进行大幅的修改才能够应用到实际的系统中,这些都导致了工业界和学术界都对Paxos算法感到十分头疼。
2023-08-15 03:30:361

从初露锋芒到有口皆碑,《Raft》的六年蜕变史

6月20日,海上漂流题材的生存 游戏 《Raft》终于结束了长达四年的抢先体验,推出了 游戏 的完整版本。在这一版本中, 游戏 丰富了更多的玩法,并且增加了最终章的剧情。 在推出完整版本之后, 游戏 的在线人数便急剧攀升。 根据steamchart显示,《Raft》的最高在线人数从原本的1w,最高时甚至达到了10w的峰值,相比之前增长了近10倍,同时也刷新了 游戏 的在线人数 历史 新高。 作为一款生存类型的 游戏 ,《Raft》能够在众多同类 游戏 中脱颖而出的原因,我想还是因为它独特的世界观和玩法。 记得在看《少年Pi的奇幻漂流》时,少年Pi在小船上和老虎斗智斗勇的场面,带给我一种紧迫感。而在《Raft》中,玩家的遭遇也像《少年派的奇幻漂流》中一样,在一望无际的海洋中,除了身边紧缺的物资,还有一只鲨鱼在海面下虎视眈眈地盯着你。 梦开始的地方 不过,海洋中源源不断飘来的物资给了你生存的希望。你可以用钩爪收集海洋中的各种碎片,例如木板、棕榈叶、塑料等等,利用这些物品构建各种工具,满足生存的基本需求。 在温饱都得以解决之后,你也可以建造、种田、养殖等方式慢慢扩大建造自己的家园。而随着时间的慢慢流逝,当你通过收集各种材料定制化自己的木筏之后,你也能得到慢慢壮大自己家园的一种幸福感。 可以说,《Raft》构建了一个非常局限的生存范围,从而使得玩家需要不断地收集和制作经营自己的家园,这样紧张刺激但成就感慢慢的 游戏 体验,也是许多人着迷于《Raft》的原因。 有趣的是,就像在 游戏 中不断完善自己的家园一样,《Raft》这款 游戏 本身也有着一个不断发展和完善的过程。而我也想借着这次机会,和大家聊一聊它这六年来的蜕变道路。 或许你没想到,《Raft》这款 游戏 和其他 游戏 有着完全不同的开发经历——一开始,它其实只是三位大学生的一个课程项目。 初创项目的三人组——André,Ellen和Semih(从左至右) 最初的《Raft》是乌普萨拉大学的三名瑞典学生为了完成“设计一款 游戏 并投放到市场”的课程项目所制作的一款 游戏 。而在三位大学生完成了这门课程之后,他们把原型投放到了itch.io(专注于独立 游戏 的平台)上,给玩家提供免费下载试玩。 令人意想不到的是,在发布 游戏 之后,仅仅在一周之内,《Raft》就成为了itch.io最受欢迎的一款 游戏 ,达到了超过10w的下载量。 Itch.io中的raft 也许《Raft》的诞生只是来源于三位大学生灵光一现的想法,但是从发布到公众平台的反响来看,这个想法是绝对有潜力的。 游戏 后续得到了非常多的积极反馈以及正面评价,这对于三位年轻的 游戏 制作者来说,绝对一件“疯狂”的事儿。 而这也让他们产生了一个对他们来说“更加疯狂”的想法:既然这个项目这么成功,那要不要顺水推舟,继续制作这个 游戏 ?从现在来看,这个“疯狂”的想法确实很正确,并且做得很成功。 随后,这三位年轻的制作人创立了甜菜头工作室(Redbeet interactive),而这也确实是给足制作者们更大的信心,让他们有了动力继续为这款 游戏 而努力着。 不论从工作室名还是从logo设计来看,都非常的“raft” 自此之后,制作者们将工作的中心放在开发 游戏 上,而《raft》也从一开始的只能通过钩爪勾取物资这样单调的模式,开发出工具制作、建造模式等玩法,大大增加了 游戏 的可玩性。 最初版本的Raft 开发后期的Raft 值得一提的是,2018年5月23日,已经在Itch.io开发两年的《Raft》,正式登陆了steam平台开始测试。同时, 游戏 也在抢鲜体验版本中首次增加了多人 游戏 。 游戏 多人模式才是乐趣所在 《Raft》不负众望,在发售之后便得到了不小的反响,一度登上了steam热销榜前排,在线人数也达到了将近2w,这对于一个由独立 游戏 工作室制作的 游戏 来说,已经是一个非常不错的成绩了。 不过,在木筏带给了玩家极限求生的刺激感之后,它枯燥一面也渐渐显露出来。 毕竟很少有人能够像《海上钢琴师》中的1900一样选择一辈子待在海洋,在狭小的木筏上呆久了,也会怀念在其他 游戏 中 探索 丛林的日子。 于是,在推出steam抢鲜体验版本之后,《raft》也推出了几次大型岛屿的更新。在大型岛屿中,玩家终于可以不通过钩爪来获取材料,而是更像其他 游戏 一样砍伐树木,挖取材料。除了鲨鱼之外,我们也可以看到更多的生物。除了敌对生物之外,在一次更新之后,羊、驴等动物,这意味着我们可以在 游戏 中开始养殖活动了。 而在不断更新和修复的过程中,《Raft》的生活物品也渐渐的更加丰富,玩家可以定制化自己的家园。 raft建筑设计大赛中玩家们的设计 不过,即使是丰富了生存的可玩性,一些玩家在重复建造之后,也略觉得有些乏味了。而在这个时候,制作组做了一个非常聪明的决定——开始增加故事的剧情。 2019年12月, 游戏 推出了第一章的剧情。在更新之后,玩家可以通过雷达给出的信息,来到曾经是核反应堆试验场的无线电塔。在这一章中,玩家终于能够接触到除了自己之外的其他文明城市。 通过笔记本记录任务进度 2020年10月, 游戏 的第二章推出。可以明显看见相比于第一章节, 游戏 中解谜的机制变得更加多样有趣,玩家需要将一路收集的线索联系起来,才能抵达最终的发射塔。 就在上个月, 游戏 也更新了第三章即最终章。在这一章中, 游戏 中加入了三个新的目的地可供玩家 探索 ,相比于前两章,这一章中可 探索 的规模更加庞大。而在剧情中,每一个地点都有着特别的战斗剧情和揭秘类型,也更能凸显RPG 游戏 的玩法。 其中的两个地点——沉默之塔和白雪之地 同时在此次的更新中,也加入了大量的敌人和物品。作为一款由小工作室制作的 游戏 ,能够在最后将 游戏 做到如此完善的程度,也是给《Raft》划上了一个完美的的句号。 新增的钛制箭、剑、斧和钩 回顾《Raft》的整个发展历程,不难发现它是在一次一次的更新中的蜕变。它有着一个非常“小”的起点,就像 游戏 一开始只是在一个2 2的木筏上生存,不过在更新的过程中,它的 游戏 性也逐渐完善,渐渐可以 探索 到岛屿乃至城市这些更大的世界,以及更多的玩法。 仔细想想,这也从侧面见证了制作组的蜕变。他们从当初仅有3个人的新手制作人,到如今拥有了能够做出庞大的城市和岛屿,以及制作出一条完整剧情线的能力。可以说,在这六年里, 游戏 和制作组在共同成长着。 现在,《Raft》终于一帆风顺地到达了乌托邦,而redbeet interaction这个团队又要驶向哪里,又能否给玩家带来更棒的 游戏 ,确实是一件值得期待的事情。
2023-08-15 03:30:491

RAFT与PBFT

【一.raft算法】 因为网上已经有大量文章对raft算法进行过详细的介绍,因此这部分只会简单的阐述算法的基本原理和流程。raft算法包含三种角色,分别是:跟随者(follower),候选人(candidate)和领导者(leader)。集群中的一个节点在某一时刻只能是这三种状态的其中一种,这三种角色是可以随着时间和条件的变化而互相转换的。 raft算法主要有两个过程:一个过程是领导者选举,另一个过程是日志复制,其中日志复制过程会分记录日志和提交数据两个阶段。raft算法支持最大的容错故障节点是(N-1)/2,其中N为 集群中总的节点数量。 国外有一个动画介绍raft算法介绍的很透彻,链接地址在这里[1]。这个动画主要包含三部分内容,第一部分介绍简单版的领导者选举和日志复制的过程,第二部分内容介绍详细版的领导者选举和日志复制的过程,第三部分内容介绍的是如果遇到网络分区(脑裂),raft算法是如何恢复网络一致的。有兴趣的朋友可以结合这个动画来更好的理解raft算法。 【二.pbft算法】 pbft算法的提出主要是为了解决拜占庭将军问题。什么是拜占庭将军问题呢?拜占庭位于如今的土耳其的伊斯坦布尔,是古代东罗马帝国的首都。拜占庭罗马帝国国土辽阔,为了达到防御目的,每块封地都驻扎一支由将军统领的军队,每个军队都分隔很远,将军与将军之间只能靠信差传递消息。 在战争的时候,拜占庭军队内所有将军必需达成一致的共识,决定是否有赢的机会才去攻打敌人的阵营。但是,在军队内有可能存有叛徒和敌军的间谍,左右将军们的决定影响将军们达成一致共识。在已知有将军是叛徒的情况下,其余忠诚的将军如何达成一致协议的问题,这就是拜占庭将军问题。 下图列出了raft算法和pbft算法在适用环境,通信复杂度,最大容错节点数和流程上的对比。 关于两个算法的适用环境和最大容错节点数,前文已经做过阐述,这里不再细说。而对于算法通信复杂度,为什么raft是o(n),而pbft是o(n^2)呢?这里主要考虑算法的共识过程。 对于raft算法,核心共识过程是日志复制这个过程,这个过程分两个阶段,一个是日志记录,一个是提交数据。两个过程都只需要领导者发送消息给跟随者节点,跟随者节点返回消息给领导者节点即可完成,跟随者节点之间是无需沟通的。所以如果集群总节点数为 n,对于日志记录阶段,通信次数为n-1,对于提交数据阶段,通信次数也为n-1,总通信次数为2n-2,因此raft算法复杂度为O(n)。 对于pbft算法,核心过程有三个阶段,分别是pre-prepare(预准备)阶段,prepare(准备)阶段和commit(提交)阶段。对于pre-prepare阶段,主节点广播pre-prepare消息给其它节点即可,因此通信次数为n-1;对于prepare阶段,每个节点如果同意请求后,都需要向其它节点再 广播parepare消息,所以总的通信次数为n (n-1),即n^2-n;对于commit阶段,每个节点如果达到prepared状态后,都需要向其它节点广播commit消息,所以总的通信次数也为n (n-1),即n 2-n。所以总通信次数为(n-1)+(n 2-n)+(n 2-n),即2n 2-n-1,因此pbft算法复杂度为O(n^2)。 流程的对比上,对于leader选举这块,raft算法本质是谁快谁当选,而pbft算法是按编号依次轮流做主节点。对于共识过程和重选leader机制这块,为了更形象的描述这两个算法,接下来会把raft和pbft的共识过程比喻成一个团队是如何执行命令的过程,从这个角度去理解raft算法和pbft的区别。 一个团队一定会有一个老大和普通成员。对于raft算法,共识过程就是:只要老大还没挂,老大说什么,我们(团队普通成员)就做什么,坚决执行。那什么时候重新老大呢?只有当老大挂了才重选老大,不然生是老大的人,死是老大的鬼。 对于pbft算法,共识过程就是:老大向我发送命令时,当我认为老大的命令是有问题时,我会拒绝执行。就算我认为老大的命令是对的,我还会问下团队的其它成员老大的命令是否是对的,只有大多数人(2f+1)都认为老大的命令是对的时候,我才会去执行命令。那什么时候重选老大呢?老大挂了当然要重选,如果大多数人都认为老大不称职或者有问题时,我们也会重新选择老大。
2023-08-15 03:30:561

raft是什么游戏

生存冒险类游戏。《RAFT》是由Redbeet Interactive制作Axolot Games于2018年5月24日发行的一款生存冒险类的PC游戏。玩家们需通过各种资源求生并在木筏上建立自己的家园,还得小心食人鲨鱼的攻击。游戏特点:多人!自己生存或与朋友在网上合作!钩!用你的钩子抓住漂浮的碎片。工艺!建立生存装备,武器,麦田和更多的帮助你生存!建立!把你的木筏从一个简单的残骸扩展到一个有浮力的大厦。研究!在研究表中学习新东西。导航!把你的木筏驶向新的地方!潜水!放下锚,深入探索更多的资源。战斗!保护你的筏子不受海洋的危险。
2023-08-15 03:31:061

raft理解

这是一篇学习raft论文的总结,主要是对看论文过程中难以理解的几个问题的记录。系统性的讲解还是得看raft论文,论文原文是最好的材料。 引用论文中的第一句话--“Raft 是一种为了管理复制日志的一致性算法”。从两个角度来理解raft算法,第一部分是raft的基本规则,第二部分是raft的异常情况处理。下面放一张raft论文中的经典图来了解一下raft是怎么在一个系统中工作的。下图中一致性模块Consensus Module执行的就是raft算法,它保证拷贝到所有server上的每一条日志是一致的。State Machine状态机对应我们的业务逻辑,日志作为状态机的输入,输入一致就能保证输出是一致的。基本规则 raft的工作模式是一个Leader和多个Follower模式,即我们通常说的领导者-追随者模式。这种模式下需要解决的第一个问题就是Leader的选举问题。其次是如何把日志从Leader复制到所有Follower上去。这里先不关心安全和可靠性,只理解raft运行起来基本规则。raft中的server有三种状态,除了已经提到的Leader和Follower状态外,还有Candidate状态,即竞选者状态。下面是这三种状态的转化过程。1、Leader的选举过程 raft初始状态时所有server都处于Follower状态,并且随机睡眠一段时间,这个时间在0~1000ms之间。最先醒来的server A进入Candidate状态,Candidate状态的server A有权利发起投票,向其它所有server发出requst_vote请求,请求其它server给它投票成为Leader。当其它server收到request_vote请求后,将自己仅有的一票投给server A,同时继续保持Follower状态并重置选举计时器。当server A收到大多数(超过一半以上)server的投票后,就进入Leader状态,成为系统中仅有的Leader。raft系统中只有Leader才有权利接收并处理client请求,并向其它server发出添加日志请求来提交日志。 2、日志复制过程 Leader选举出来后,就可以开始处理客户端请求。Leader收到客户端请求后,将请求内容作为一条log日志添加到自己的log记录中,并向其它server发送append_entries(添加日志)请求。其它server收到append_entries请求后,判断该append请求满足接收条件(接收条件在后面安全保证问题3给出),如果满足条件就将其添加到本地的log中,并给Leader发送添加成功的response。Leader在收到大多数server添加成功的response后,就将该条log正式提交。提交后的log日志就意味着已经被raft系统接受,并能应用到状态机中了。 Leader具有绝对的日志复制权力,其它server上存在日志不全或者与Leader日志不一致的情况时,一切都以Leader上的日志为主,最终所有server上的日志都会复制成与Leader一致的状态。 以上就是raft允许的基本规则,如果不出现任何异常情况,那么只要上面两个过程就能使raft运行起来了。但是现实的系统不可能这么一帆风顺,总是有很多异常情况需要考虑。raft的复杂性就来源于对这些异常情况的考虑,下面一小节就以问答的方式来总结raft是怎么保证安全性的。 安全性保证 1、Leader选举过程中,如果有两个serverA和B同时醒来并发出request_vote请求怎么办? 由于在一次选举过程中,一个server最多只能投一票,这就保证了serverA和B不可能同时得到大多数(一半以上)的投票。如果A或者B中其一幸运地得到了大多数投票,就能顺利地成为Leader,raft系统正常运行下去。但是A和B可能刚好都得到一半的投票,两者都成为不了Leader。这时A和B继续保持Candidate状态,并且随机睡眠一段时间,等待进入到下一个选举周期。由于所有server都是随机选择睡眠时间,所以连续出现多个server竞选的概率很低。 2、Leader挂了后,如何选举出新的Leader? Leader正常运作时,会周期性地发出append_entries请求。这个周期性的append_entries除了可以更新其它Follower的log信息,另外一个重要功能就是起到心跳作用。Follower收到append_entries后,就知道Leader还活着。如果Follower经过一个预定的时间(一般设为2000ms左右)都没有收到Leader的心跳,就认为Leader挂了。于是转入Candidate状态,开始发起投票竞选新的Leader。每个新的Leader产生后就是一个新的任期,每个任期都对应一个唯一的任期号term。这个term是单调递增的,用来唯一标识一个Leader的任期。投票开始时,Candidate将自己的term加1,并在request_vote中带上term;Follower只会接受任期号term比自己大的request_vote请求,并为之投票。这条规则保证了只有最新的Candidate才有可能成为Leader。 3、Follower在收到一条append_entries添加日志请求后,是否立即保存并将其应用到状态机中去?如果不是立即应用,那么由什么来决定该条日志生效的时间? Follower在收到一条append_entries后,首先会检查这条append_entries的来源信息是否与本地保存的leader信息符合,包括leaderId和任期号term。检查合法后就将日志保存到本地log中,并给Leader回复添加log成功,但是不会立即将其应用到本地状态机。Leader收到大部分Follower添加log成功的回复后,就正式将这条日志commit提交。Leader在随后发出的心跳append_entires中会带上已经提交日志索引。Follower收到Leader发出的心跳append_entries后,就可以确认刚才的log已经被commit(提交)了,这个时候Follower才会把日志应用到本地状态机。下表即是append_entries请求的内容,其中leaderCommit即是Leader已经确认提交的最大日志索引。Follower在收到Leader发出的append_entries后即可以通过leaderCommit字段决定哪些日志可以应用到状态机。 4、假设有一个server A宕机了很长一段时间,它的日志已经落后很多。如果A重新上线,而且此时现有Leader挂掉,server A刚好竞选成为了Leader。按照日志都是由Leader复制给其它server的原则,server A会把其它Follower已经提交的日志给抹掉,而这违反了raft状态机安全特性,raft怎么解决这种异常情况? 所谓的状态机安全特性即是“如果一个领导人已经在给定的索引值位置的日志条目应用到状态机中,那么其他任何的服务器在这个索引位置不会提交一个不同的日志”。如果server在竞选Leader的过程中不加任何限制的话,携带旧日志的server也有可能竞选成为Leader,就必然存在覆盖之前Leader已经提交的日志可能性,从而违反状态机安全特性。raft的解决办法很简单,就是只有具有最新日志的server的才有资格去竞选当上Leader,具体是怎么做到的呢?首先任何server都还是有资格去发起request_vote请求去拉取投票的,request_vote中会带上server的日志信息,这些信息标明了server日志的新旧程度,如下表所示。 其它server收到request_vote后,判断如果lastLogTerm比自己的term大,那么就可以给它投票;lastLogTerm比自己的term小,就不给它投票。如果相等的话就比较lastLogIndex,lastLogIndex大的话日志就比较新,就给它投票。下图是raft日志格式,每条日志中不仅保存了日志内容,还保存了发送这条日志的Leader的任期号term。为什么要在日志里保存任期号term,由于任期号是全局单调递增且唯一的,所以根据任期号可以判断一条日志的新旧程度,为选举出具有最新日志的Leader提供依据。 5、存在如下图一种异常情况,server S5在时序(d)中覆盖了server S1在时序(c)中提交的index为2的日志,方框中的数字是日志的term。这违反了状态机的安全特性--“如果一个领导人已经在给定的索引值位置的日志条目应用到状态机中,那么其他任何的服务器在这个索引位置不会提交一个不同的日志”,raft要如何解决这个问题? 出现这个问题的根本原因是S1在时序(c) 的任期4内提交了一个之前任期2的log,这样S1提交的日志中最大的term仅仅是2,那么一些日志比较旧的server,比如S5(它最日志的term为 3),就有机会成为leader,并覆盖S1提交的日志。解决办法就是S1在时序(c)的任期term4提交term2的旧日志时,旧日志必须附带在当前term 4的日志下一起提交。这样就把S1日志的最大term提高到了4,让那些日志比较旧的S5没有机会竞选成为Leader,也就不会用旧的日志覆盖已经提交的日志了。 简单点说,Leader如果要提交之前term的旧日志,那么必须要提交一条当前term的日志。提交一条当前term的日志相当于为那些旧的日志加了一把安全锁,让那些日志比较旧的server失去得到Leader的机会,从而不会修改那些之前term的旧日志。 怎么具体实现旧日志必须附带在当前term的日志下一起提交呢?在问题3中有给出append_entries请求中的字段,其中有两个字段preLogIndex和preLogTerm的作用没有提到,这两个字段就是为了保证Leader和Followers的历史日志完全一致而存在的。当Leader在提交一条新日志的时候,会带上新日志前一条日志的index和term,即preLogIndex和preLogTerm。Follower收到append_entries后,会检查preLogIndex和preLogTerm是否和自己当前最新那条日志的index和term对得上,如果对不上就会给Leader返回自己当前日志的index和term。Leader收到后就将Follower返回的index对应的日志以及对应的preLogIndex和preLogTerm发送给Follower。这个过程一直重复,直到Leader和Follower找到了第一个index和term能对得上的日志,然后Leader从这条日志开始拷贝给Follower。回答段首的问题,Leader在提交一条最新的日志时,Follow会检验之前的日志是否与Leader保持了一致,如果不一致会一直同步到与Leader一致后才添加最新的日志,这个机制就保证了Leader在提交最新日志时,也提交了之前旧的日志。 6、向raft系统中添加新机器时,由于配置信息不可能在各个系统上同时达到同步状态,总会有某些server先得到新机器的信息,有些server后得到新机器的信息。比如下图raft系统中新增加了server4和server5这两台机器。只有server3率先感知到了这两台机器的添加。这个时候如果进行选举,就有可能出现两个Leader选举成功。因为server3认为有3台server给它投了票,它就是Leader,而server1认为只要有2台server给它投票就是Leader了。raft怎么解决这个问题呢? 产生这个问题的根本原因是,raft系统中有一部分机器使用了旧的配置,如server1和server2,有一部分使用新的配置,如server3。解决这个问题的方法是添加一个中间配置(Cold, Cnew),这个中间配置的内容是旧的配置表Cold和新的配置Cnew。还是拿上图中的例子来说明,这个时候server3收到添加机器的消息后,不是直接使用新的配置Cnew,而是使用(Cold, Cnew)来做决策。比如说server3在竞选Leader的时候,不仅需要得到Cold中的大部分投票,还要得到Cnew中的大部分投票才能成为Leader。这样就保证了server1和server2在使用Cold配置的情况下,还是只可能产生一个Leader。当所有server都获得了添加机器的消息后,再统一切换到Cnew。raft实现中,将Cold,(Cold,Cnew)以及Cnew都当成一条普通的日志。配置更改信息发送Leader后,由Leader先添加一条 (Cold, Cnew)日志,并同步给其它Follower。当这条日志(Cold, Cnew)提交后,再添加一条Cnew日志同步给其它Follower,通过Cnew日志将所有Follower的配置切换到最新。 有的raft实现采用了一种更加简单粗暴的方法来解决成员变化的问题。这个办法就是每次只更新一台机器的配置变化,收到配置变化的机器立马采用新的配置。这样的做法为什么能确保安全性呢?下面举例说明。比如说系统中原来有5台机器A,B,C,D,E,现在新加了一台机器F,A,B,C三台机器没有感知到F的加入,只有D,E两台机器感知到了F的加入。现在就有了两个旧机器集合X{A, B, C, D, E}和新机器集合Y{F}。假设A和D同时进入Candidate状态去竞选Leader,其中D要想竞选成功,必须得有一半以上机器投票,即6/2+1=4台机器,就算Y集合中的F机器给D投了票,还得至少在集合X中得到3票;而A要想竞选成功,也必须得到5/2+1 = 3张票,由于A只知道集合X的存在,所以也必须从集合X中获得至少3票。而A和D不可能同时从集合X同时获得3票,所以A和D不可能同时竞选成为Leader,从而保证了安全性。可以使用更加形式化的数学公式来证明一次添加一台机器配置不会导致产生两个Leader,证明过程就暂时省略了。 raft论文中文翻译: https://github.com/maemual/raft-zh_cn/blob/master/raft-zh_cn.md raft论文英文原址: https://raft.github.io/raft.pdf raft使用C语言实现: https://github.com/willemt/raft raft成员变更过程分析: http://blog.csdn.net/zhang_shuai_2011/article/details/38585725
2023-08-15 03:31:271

raft要钱吗

raft要钱,该游戏在steam上架,日常的售价为68元,在steam活动期间会有一定的折扣。Raft是一款第一人称视角的生存冒险游戏。在该游戏中玩家出生在一个茫无边际的海洋之上,身边唯一拥有的东西就是一只小木筏以及一只钩子,玩家所要做的事情就是要生存下去,利用钩子勾住海洋上的漂流的东西,并且利用这些物资来制作一些有用的工具以及加固自己的木筏,同时玩家还要防止海中饥肠辘辘的鲨鱼,抵御他们的攻击。raft玩家的注意事项。玩家在玩raft时要注意,该游戏出生时你只有4个板子活动空间加一个钩子,鲨鱼会不定期的咬你的板子,如果你采取不抵抗态度,鲨鱼是不咬烂一块不罢休的。所以尽快用你手头的钩子勾取资源。要记住,前期最大的威胁是鲨鱼和你的饥渴值。
2023-08-15 03:31:351

raft为什么海上没东西

  raft海上没东西是因为方向的问题,可以把船帆左右调一下,或者顺着风向即可。《木筏:求生(RAFT)》是由RaftDeveloper制作的一款生存类游戏,游戏中玩家被困在大海,脚下只有一个小木筏,手上只有一个钩子,可以用钩子钩到海上的垃圾。
2023-08-15 03:31:501

raft蓝图怎么用

1.首先制作出蓝图。2.然后再点击箭头指向的背包。3.把蓝图装备到箭头指向的物品栏。4.然后点击使用即可。raft在研究桌上研究蓝图。因为.首先玩家需要打开研究桌的研究界面,然后将背包中的蓝图放入界面中,接着点击界面上的研究按钮就可以对蓝图进行研究,研究之后就可以获得蓝图对应的物品配方。当玩家获得配方后就可以是使用材料来进行制作,并且每次研究蓝图都可以减少制作所需的材料。raft蓝图的用处在游戏中蓝图的作用还是很大的,我们在海上生存肯定是要建造各种各样的道具,不管你是做食物还是扩建领地,都是需要足够的材料才能进行的,蓝图相当于图纸,也就是能够让你某一个研发消耗的材料减少,而且这个减少就是永久性减少。
2023-08-15 03:31:581

raft接收器怎么用

raft接收器使用方法如下:垒高台刚开始的时候接收器是处于第一层(桌子下面有两块高台),所以打开显示高度太低我们往上垒高一层。调整天线在打开后就显示三个天线没有摆放,这就是高度对了。这个时候我们就要去调整一下我们的天线了。放置电池我们3根天线的高度必须和我们的接收器的高度一致,给接收器放置电池,这样我们的接收器就可以用了。打开接收器我们打开我们的接收器,然后我们在接收器上可以看到有个点和数字。接收器上的点表示的是大油田或者大岛屿,而数字表示的则是距离。
2023-08-15 03:32:091

raft日历怎么放

放在立柱上悬挂物。具体步骤操作如下:1、首先打开木筏求生游戏,选择建筑锤。2、然后右键,选择立柱,放置在木筏上。3、其次选择raft日历,放在立柱上。4、最后站在日历正面即可看到已经生存的天数了。《Raft》是一款第一人称视角的生存冒险游戏。
2023-08-15 03:32:161

raft海龟能抓吗

raft海龟是能抓的。海龟是在诺森德的鱼点出的。只有鱼点出。钓一会鱼就会钓到一本卷轴,钓鱼100点左右能学习,就可以搜索渔点了。需要学习钓鱼,无其它必需准备的了。最好准备鱼竿和鱼饵,能增加你的钓鱼等级。钓鱼专业越高,鱼跑钩几率越低,掉的越快而已,从几率上来说,每杆出海龟的几率和钓鱼等级无关。raft的游戏攻略最开始的计划,出生时你只有4个板子活动空间加一个钩子,鲨鱼会不定期的咬你的板子,如果你采取不抵抗态度,鲨鱼是不咬烂一块不罢休的。所以尽快用你手头的钩子勾取资源,水上资源分三类。最难勾但却是最需要的木头,比较容易的树叶,最容易的塑料,相对来说比较容易的木桶。其中木桶含有木头,树叶,石头,废铁,塑料,还有小概率会出现金属锭。要记住,前期最大的威胁是鲨鱼和你的饥渴值。一旦前期的资源不够加上你的饥渴值导致你很难对鲨鱼的入侵做出有效的反应,如果被鲨鱼一块一块的啃完船体,后果不用我说大家都明白。那么,前期最重要的就是两件事,尽快做出工程锤建造更多的船体;2.尽快做出蒸馏装置和烧烤炉。所以这时候,如果有小时候天天去地摊玩套圈的人可开心了,一勾一个准,从此发家致富走上人生巅峰。可是并不是所有人都能勾的那么准。在此本手残给那些总是愁于勾不到的人一些小建议。
2023-08-15 03:32:371

raft发光虾怎么弄

raft发光虾获得方法是:1、首先进入游戏《Raft》,点击进入游戏,点击商店,买一个鱼竿,点击地图。2、其次搜索动物园,到了之后,到最近的鱼塘里,用垃圾块当做鱼饵,将鱼竿放入鱼糖中。3、最后就会看到有许多发光的虾被引上上来,即为抓取成功。这就是raft发光虾的正确操作方法。
2023-08-15 03:32:521

raft怎么在船上种草坪

raft可以通过大岛上的污泥,在船上中草坪。要去大岛上面找山洞,山洞里就有污泥,在挖污泥前记得带好铲子。《raft木筏生存》是一款漂流生存游戏。游戏提供单人和多人在线合作模式。最初是2016年秋季时候的一个大学生项目,当时三名乌普萨拉大学Gotland分校的学生耗时15周做的一款生存游戏创意原型。游戏中主角将出生在一片漫无边际的海洋上,靠一只小木筏和一只钩子努力求生。玩家要做的就是利用钩子勾住海洋上漂流的东西,利用这些物资制作有用的工具、武器,来加固自己的木筏。游戏支持多人模式。实际上,早在该游戏进行Early Access之前,《木筏》就已经还国内外的视频网站走红,比如本文插入的视频,单条播放量已经超过了200万次。
2023-08-15 03:32:591

raft配置要求高吗

《船长漂流记》Raft游戏配置要求不高,参考如下;最低配置操作系统: Windows 7 64bit处理器: 1.4 Ghz and up内存: 1024 MB RAM图形: Integrated with 128mb of vram存储空间: 需要 250MB 可用空间附注事项: AlienFX enabled
2023-08-15 03:33:171

深入浅出 Raft - 基本概念

因为一直在跟 Raft 打交道,虽然对 Raft 很熟悉了,但如果你要我去给一个完全不知道什么是 Raft 的人讲 Raft,我觉得难度还是非常大的。所以我决定使用我一贯罗里吧嗦,用比喻和讲故事的方式,来尝试说说 Raft。 如果你跟你孩子一起看过小猪佩奇,你大概就能知道我为啥用了这么怪的取名。如果没看过的,强烈推荐你去看看,这真的是一部很不错的儿童动画。 兔小姐准备在泥坑小镇成立一家银行(就叫泥坑银行吧)。对于银行储蓄系统的设计,兔小姐找来了猪爸爸。 兔小姐:『猪爸爸,我们要保证,无论怎样用户的金钱不能有错误。假如客户存了 100 块钱,那么他的账户就会多出来 100 块钱,不会是 101,也不会是 99。』 猪爸爸:『好的,兔小姐,我觉得我们可以这样。如果一个客户来存钱,那么,首先我们可以将交易依次顺序记录下来,然后兔先生再把客户实际的钱放到金库对应的保险柜里面。当兔先生把钱放好之后,我们就可以告诉客户这笔交易完成了』 兔小姐:『好主意,猪爸爸,不过为什么要先将交易记录下来呢?直接放到金库不就可以了吗?』 猪爸爸:『首先,如果交易记录都没成功,那么我们就不用再麻烦将钱放到金库了。其次,假设同时很多人来存钱,兔先生有点处理不过来,没准就会弄错。我们有记录的话,兔先生就可以按照记录一个一个处理,虽然这样慢一点,但不会出错。另外,交易记录永远不可能被篡改或者被覆盖,譬如如果我们在记录 N 这个位置记录下客户 A 存了 100 块钱,那么这条记录 N 后面一定是这笔交易,而不可能在变成客户 B 取了 100 块钱。』 兔小姐:『嗯,听起来很有道理,那么我们就这么做吧。』 好了,虽然上面的例子有点不切合实际,毕竟如果银行真这么玩,离倒闭也就不远了,但各位还是先认为这套机制能很好的工作吧。在 Raft 里面,交易记录,我们可以叫做日志,而金库,则是状态机。对于任何的操作,Raft 会首先将其记录到日志,然后等这个日志提交之后,我们再将其对应的数据写入到状态机里面。每一条日志都有一个唯一的编号,这个编号是严格按照加一单调递增的,也就是说,leader 只会追加日志,而不会覆盖日志。假设现在的日志编号是 10,那么下一条日志的编号就一定是 11。如果这条日志被应用到了状态机,那么我们就可以认为这条日志已经是被 applied 了。 不久之后,泥坑银行储蓄系统第一个版本就上线了。一切工作的良好,直到有一天,电闪雷鸣,泥坑银行停电了。用户发现根本没办法进行交易了,虽然狗爷爷尽了最大的努力,但让整个银行正常工作也花了不少时间。银行正常营业之后,兔小姐找来了猪爸爸。 兔小姐:『猪爸爸,现在看起来我们必须要保证,即使在泥坑小镇的银行出现了问题,譬如停电这种的,用户仍然能够正常的进行交易。』 猪爸爸:『是的,兔小姐。那要做到这样,我们必须在其他地方建立另一个银行网点,这样,即使在泥坑小镇银行不能对外提供服务了,但客户还是能在其他银行网点进行交易。』 兔小姐:『好主意,猪爸爸,那么我们 就在回音山谷建立一个分部,当泥坑小镇的银行出现了故障,用户仍然能够在回音山谷进行交易。』 猪爸爸:『兔小姐,恐怕只是在回音山谷建立一个分部,是不行的。』 兔小姐:『为什么呢?猪爸爸,我有点不明白了。』 猪爸爸:『现在假设我们在泥坑小镇和回音山谷都部署好系统,如果一个客户到泥坑小镇存钱,我们首先要在泥坑小镇这边记录这笔交易,然后在通知回音山谷那边也记录这笔交易,只有我们知道回音山谷记录交易成功了,我们才可以进行下一步,也就是将用户的钱放到金库里面,同时告诉回音山谷那边,也需要将对应钱放到那边的金库,这样如果泥坑小镇出现了问题,客户仍然能到回音山谷那边取钱。』 兔小姐:『这听起来很复杂,但这样看起来没问题,所以将系统放到两个地方,没问题呀!』 猪爸爸:『不不,兔小姐。上面我说的是都两边都能正常工作的情况,但实际会有很多异常情况。譬如,假设泥坑小镇这边的系统能正常工作,但回音山谷的出现了问题,那么客户来泥坑小镇存钱,因为我们没办法在回音山谷记录这笔交易,所以用户仍然不能存钱。』 兔小姐:『出现这种情况,我们还是先让客户能存钱吧,等回音山谷系统好了再把相关的交易记录放到那边去,这样不行吗?』 猪爸爸:『当然不可以,兔小姐。因为我们要保证客户金钱的绝对安全。假设客户先在泥坑小镇这边存了钱,回音山谷那边可能因为出现了问题并不知道这笔交易,如果泥坑小镇这边的系统出现了问题,那么用户去回音山谷取钱,就会发现,他在回音山谷的钱还是之前的总额,这样问题就大了。所以,如果只有两个地方有系统,我们必须要保证这两个地方的系统都完全能正常工作,任何一方出现了问题,整个系统就是不可用的。』 兔小姐:『哦,我大概明白了,那我们怎么办?』 猪爸爸:『如果我们要容忍一个地方的银行不能对外提供服务,但客户还是能正常的进行交易,我们至少需要在三个地方部署系统。』 兔小姐:『哦,我有点糊涂了,你能仔细解释下吗,为什么三个就可以呢?』 猪爸爸:『好的,兔小姐。假设现在我们在三个地方有部署好了系统,譬如这三个地方就是泥坑小镇,回音山谷和海盗岛吧。假设一个客户来泥坑小镇存钱,首先,我们会在泥坑小镇记录下这笔交易,然后告诉回音山谷和海盗岛也记录下这次交易,如果回音山谷或者海盗岛有一个回复泥坑小镇这边交易已经被成功记录,我们就可以允许客户在泥坑小镇将钱存到金库了,然后在告诉回音山谷和海盗岛那边可以存入金库了。』 猪爸爸停顿了一下,喝了一口水,接着道:『上面我们说到,只要我们知道有两个地方成功记录下这次交易,我们就可以继续存钱了,即使一个地方出现了问题也不会有问题。譬如,我们知道泥坑小镇和回音山谷成功记录了交易,但海盗岛因为一些问题导致了反馈延迟,但还能正常工作。然后泥坑小镇这边突然出现了问题,不能对外提供服务了,但我们还是能正常对外提供服务,因为我们知道最新的交易信息已经被记录到了回音山谷,我们从回音山谷这边就一定能得到正确的金钱总数。但是,这时候我们仍然只有两个地方能正常工作了,所以如果第二个地方出现了问题,我们仍然不能对外提供服务了。所以,如果我们要容忍两个地方出现问题,但系统仍然能够对外提供服务,我们就需要——』 『我们就需要在五个地方部署服务了,是吧,猪爸爸。』兔小姐直接插话道。 『是的,非常正确,兔小姐。』猪爸爸由衷的赞叹道。 『那么我觉得我们先考虑三个地方吧,容忍一个地方不能工作就可以了,那就在回音山谷和海盗岛那边也建立分部吧。』 『好的,兔小姐,不过其实我有点担心海盗岛那边。。。。。。』 『就这么决定了,猪爸爸』,兔小姐没等猪爸爸说完,就直接做了决定。 好了,说了这么多,还是回到现实中来吧。上面的例子,我们可是假设了金钱能被复制成多份放到不同的金库里面的,但现实银行可不会这么干。为了要设计一个高可用的系统,单点问题是必须要解决的,毕竟如果这个点出现了问题,整个系统就没法服务了。为了解决这个问题,我们需要在多个地方部署系统,但这样就会引入另一个问题,也就是数据一致性的问题。 这里我们来简单说说 CAP,也就是一致性,可用性和分区容忍性。因为在分布式系统里面,P 一定是避免不了的,所以我们无非就是选择 C 或者选择 A 的问题。通常 A 都是能做到 HA,也就是高可用的,所以对于需要完全保证数据安全的系统,我们一定会选择 C。为了保证 C,我们在写入数据的时候,一定会保证至少 quorum 的节点都成功被写入了数据,才会认为这次写入是成功的。 在 Raft 里面,如果一条日志被 quorum 的节点成功接收,那么我们就可以认为这条日志已经被 committed 了。 通常,我们说的 C,其实就是线性一致性,也就是我在某个时间写入了一个值,那么这个时间点之后的任何时间,我们读到的就是这个最新的值,而不可能是老的。在数据写入 quorum 节点之后,我们的读取如果也能够保证在 quorum 节点读取,那么就一定能读到最新的值。这个就是 Amazon 的 Dynamo 做法,但这样就把线性一致性保证的负担落到了读取数据的客户端上面。Raft 采用了另一种简单的做法,我们后续继续说明。 好吧,说了这么多,说了这么多,其实也就提了几个 Raft 的概念。这里稍微总结一下,Raft 使用的是 Log Replication + State Machine 的方式来处理分布式数据的一致性问题,这也是现在的通用做法。对于 Raft 来说,Log 的 ID 一定是加一单调递增的,如果一个 Log 被至少 quorum 个节点接受,我们就可以认为这条日志被 committed 了,然后就可以应用这条 Log,当 Log 被应用之后,改 Log 就是 applied 了。后面,我们将开始讨论 Raft 的 Leader 了。
2023-08-15 03:33:251

raft熊岛第三个广播站在哪

raft熊岛第三个广播站在第二个广播站右上角。第三座信号塔在第二个广播站右上角,需要注意的是第三座信号塔上有个横梯,可以使用弓箭射对面的把手箱从而把这个梯子放下来。raft的游戏攻略本人时候曾在自己的完全版方舟下跟朋友比试勾东西,就算这样每个人依然会有遗漏,所以别太有,我漏了一个木桶,感觉错了了一个金属锭这种情绪。勾不到,马上换下一个目标才是正解,玩长了钩子出去一瞬间就知道勾不到了,果断右键收勾。风平浪静的情况下可以考虑再次瞄准,但如果碰到大风大浪,雾霾天气等情况,还是去考虑下一个吧。顺便说一句,钩子是可以一次性无限勾东西的,就是说你钩子出去勾中一个东西,在拉回勾子的路上你依然可以勾中物品将其一起带回来,所以看好自己勾子拉回的路线,适时等一等收勾子有时反而更好,而且还省一点耐久。
2023-08-15 03:33:321

raft木筏steam里叫什么

raft 英[rɑ:ft] 美[r230;ft] n. 木筏; 橡皮艇; [动] (昆虫的) 卵筏; 〈美口〉大量; vt. 筏运; 制成筏; 使用筏子; vi. 乘筏; [例句]The crew spent two days and nights in their raft.船员在救生筏上呆了两天两夜。
2023-08-15 03:33:481

raft水下资源怎么挖

raft水里挖石头资源方法如下:1、首先玩家要装备钩子,然后在岛屿附近下水,潜到底部。2、在海底的地面上用钩子长按挖掘,这样就能够挖掘出石头了。3、同时还能挖到沙子、黏土、金属矿石、铜矿、碎片等资源。石头可以当作武器用来攻击鲨鱼,或者作为一次性船锚使用。游戏介绍译文:无论是独自一人,还是和朋友一起,你的任务都是在史诗般的海洋冒险中幸存下来。一个危险的海洋!收集残骸以生存,扩大你的筏子,小心危险。被困在一个小筏子上,身上只有一个旧塑料做的钩子。蓝色的海洋,完全孤独,看不见陆地!喉咙干涩,肚子空空。生存并不容易!筏子把你和你的朋友扔进一个史诗般的冒险在广阔的大海,与目的生存,聚集资源,建设自己值得的浮动家园。海上的资源是很难得到的:玩家必须确保用他们信任的钩子抓住任何漂浮的碎片,如果可能的话,在海浪下面的珊瑚礁和上面的岛屿上觅食。
2023-08-15 03:33:561

RAft水上城市怎么上高塔?

回到地下室,在地下室找到一个电梯,然后上去,在这栋楼顶层有滑索,然后就能滑到塔上了。上最高的那个塔楼,在地下那个带电的那里,用胶带贴了电箱。贴完就没电了就会有门开,从那里进去上电梯,进的好像是6号楼还是几号来着忘记了,那会你的电梯显示是负4层,上去之后搜两个房间,有个房间从碎了的窗户出去上楼顶,然后乘滑索就可以去高塔了。
2023-08-15 03:34:101

raft吊桥怎么用

1、首先在raft游戏中,吊桥作用是可伸缩的桥梁,短吊桥可以伸长2格木板大小,长吊桥可以伸长4格木板大小。2、其次在遇到对面海岸的时候,对准方向就会显示开关。3、最后点击启动开关,吊桥就放下来了,就可以去对面的海岸。
2023-08-15 03:34:341

《Raft》有什么亮点可以成为steam热销的十款独立游戏之一?

因为他们不需要花很好的钱,而且全靠玩家自己努力发展,其次关于这个游戏的攻略我简单的介绍一下,可以参考下面的文字。Raft是第一人称海上生存冒险游戏。玩家需要做的是用钩子钩住漂浮在海上的东西,用这些材料制造有用的工具和武器,加固他们,然后自己可以用木筏并生存下来。出生在只有一个钩子的四块木板上,你如何在长海中生存,首先,你应该先收集木板,树叶和树叶,因为它们可以组合成工具栏上的绳索,木板和绳索可以用作木矛,用木矛,鲨鱼可以防止它们咬你的木板。记住,鲨鱼咬你的木板时会发出声音,你可以用长矛来松开它。同时,鲨鱼可以在 10 秒内咬你的木板。因为在早期的所有资源都必须被捕捞,桶具有最高优先级,并且它们提供了大量资源。包括树叶,木板,塑料,碎片,绳子,土豆和红色蔬菜根。收集材料后,我们将优先制作风旗和风帆,然后有简单的烤架和简单的滤水器,如果你的脸不好,桶里没有土豆或红菜根,那么你需要一根钓竿。主要的钓竿并不昂贵,并且在捕获的鱼煮熟后,它将恢复到更高的饱腹感。捕获的鱼可以分为不同的大小。大鱼需要一个高级烤架。煮熟后,可以吃三次,但需要一个研究台。此外,早期没有相关材料,因此无法制造。这是早期所有食物中最好的。吃完后,你可以得到大约 3/5 份全食物。而且很容易获得,只有一根钓竿,有了滤水器,你就缺水了。那么这个游戏就不适合你,我们可以退出这个游戏模式。还是挺可惜的,解决食物和水问题后,有一个帆战略,这是发展的必要工具,靠着帆,船会左右漂移,并沿着风缓慢移动。
2023-08-15 03:34:431

raft论文

raft主要分成三个部分: 在系统初始化时,所有的节点都会被初始化为follower,leader会被选举出来。follower会周期性的接收到来自leader的心跳rpc,以维持follower的状态。若在选举超时时间内没有收到rpc,follower就会选举超时,该超时时间在一个范围内随机(如150-300ms)。超时后,follower就自增自己的currentTerm,成为candidate,并给自己投票,然后向其他服务器发送投票请求rpc,follower处理投票请求rpc时遵循先到先得的与原则。candidate会一直处于这个状态直到下列某一情况发生: 以一个请求来说明日志的复制流程: leader leader需要根据集群节点对AppendEntires的响应来判断一条日志是否被复制到半数以上节点。当leader收到半数以上的响应,就认为该日志已经复制成功。此时leader宕机时,后续新当选的领导人肯定是在已成功接收最新日志的节点中产生,还是能保证该日志被提交。 日志数据不一致问题: Raft通过将将leader日志复制到follower节点,并覆盖follower节点中与leader不一致的日志。leader节点为每个节点存储了两个记录: AppendEntries RPC 中包括: 状态的持久化存储和server的重启: 领导权转移: Raft允许server将自己的领导权转移其他的server,有两种场景: 为了选举能够成功,当前leader需要将自己的log entries发送给目标Server,保证目标server上持有所有提交的log entries,但后发起leader竞选,不需要等待选举超时。 当目标server失败时,当前leader就会中断领导权转移过程,恢复客户端请求处理。 现在还有两个问题: 为了解决新成员加入时,成员需要追赶leader日志的问题,raft 引入了 non-voting server,等到日志同步完成时再开始加入集群。首先会引入round的概念,每个round开始时,leader将non-voting server少于leader的日志同步到non-voting server,round中新接收的日志会在下一个round同步。 若没有新日志发送到leader时,一个round开始会马上结束,进入下一个round,当进行round的次数超过阈值时,leader就将新的server加入到集群 当前leader的移除 当要下线集群的leader时,首先客户端会发送一条C new的配置请求,C new会以日志的形式复制到集群大多数节点 , 只有当该日志提交之后,leader才可以转变为follower再进一步下线,只有当C new复制到大多数节点,集群才有可能从C new的成员中选举出leader。leader才可以转变为follower,此时C new的成员会选举超时,从而选举产生 leader。旧 leader的不可用到新leader的产生的这段时间系统是处于不可用的状态。 下线成员对系统的扰动 当下线非leader节点时,该节点就收不到新的配置C new,也就不知道自己是否下线,此时leader上新的配置生效之后,就 不再给将要下线的节点发送heartbeat。该节点就会超时并发起选举,选举会扰乱当前系统leader的工作,由于周期高于当前leader,leader就会转变为follower, 发起选举的节点不在系统内不会当前选,系统内会重新选举出一个leader。所以 raft提出了一个已解决方案: 为leader竞选阶段引入一个新的阶段,pre-vote,candidate发起投票之前会询问其他节点自己的日志是否足够新的来竞选leader。但pre-vote的引入并不能解决上述问题。 前面描述的选举和日志复制机制还不能完全保证每个状态机都能根据相同的日志按照相同的顺序执行命令。例如一个follower因为网络问题错过了多次的日志复制,然后网络恢复,集群leader宕机,follower当选为leader,该follower缺少上一个leader 提交的日志,就会导致这些日志被新的leader覆盖。 随着raft处理客户端请求的增长,日志记录也会越来越长,占用的存储空间也会越来越多,也会花费越来越多的时间进行日志重放。但在一个实际的系统当中,存储空间不可能没有限制,因此采取一种机制来丢弃部分日志记录势在必行。 快照是最简单的进行日志压缩的方式。 每个节点独立的生成快照 ,通过将整个状态机的状态都写入快照然后存储到稳定的存储介质上方式,可以允许快照点之前的所有日志可以被删除。Raft还会在快照中保存一部分元数据,也就是快照可以替换的所有日志记录的最一条(最后一条状态机执行的日志记录),这条日志是用来做AppendEntries时的日志一致性检查的。同时为了保证集群成员变化,快照中还会保存应用最后一条日志时的配置文件。
2023-08-15 03:35:261

raft怎么加入好友世界

steam邀请好友或者进入好友的游戏
2023-08-15 03:35:502

raft沙子怎么挖

raft沙子获取:在岛屿周围的水下,有黄色的泥巴状石头,击碎可以获得泥或者沙子。木筏求生Raft沙子和泥土获得方法:在岛屿周围的水下,有黄色的泥巴状石头,击碎可以获得泥或者沙子。用钩子,在海岛,或者海石下面,有比石头大点的块状物。金属物,是长在石头上的和石头泥土的方式不一样。高效采集沙子方法介绍:杀了鲨鱼,离下一条鲨鱼刷新大概不到5分钟的时间。做个鲨鱼饵丢到水里,差不多4-5分钟的时间。(鲨鱼死的时候不戳它,它会漂浮一段时间才下沉,这个时间不会刷新鲨鱼)。raft游戏简介《RAFT》是由Redbeet Interactive制作Axolot Games于2018年5月24日发行的一款生存冒险类的PC游戏。玩家们需通过各种资源求生并在木筏上建立自己的家园,还得小心食人鲨鱼的攻击。无论是独自一人,还是和朋友一起,你的任务都是在史诗般的海洋冒险中幸存下来,一个危险的海洋。收集残骸以生存,扩大你的筏子,小心危险。被困在一个小筏子上,身上只有一个旧塑料做的钩子。生存并不容易。
2023-08-15 03:36:311

raft玻璃怎么获得

《RAFT》中把沙子放进熔炉烧,即可获得玻璃。现实中玻璃需要将含有二氧化硅的原材料,放在高温、高压的熔炉里炼制,游戏中简化了炼制流程:沙子中含有二氧化硅,而熔炉需要解锁科技。《RAFT》介绍:《RAFT》是一款于2018年5月24日发布的游戏,在PC端的steam平台,采取抢先体验的方式发售。游戏发布初期,抢先体验的版本就获得了众多玩家的好评。经过四年的陪跑,《RAFT》停止了抢先体验版本,1.0正式版终于上线。为了让故事完结得更加自然,官方重新打磨了之前的故事剧情,并让它看起来能和新的故事剧情有更好的衔接。更新了三个地图区域,并添加了新的怪物,等待玩家的探索和挑战。新增加一个解锁角色,并添加了一系列时装外观。增加新的交易机制,交易站将为玩家提供新的兑换方案。玩家可以利用新出的回收器,将自己多余的材料回收生成垃圾块,并拿到交易站兑换道具。还有另外一种兑换方案,通过垃圾块兑换鱼饵,然后去钓鱼兑换交易币,最后拿着交易币去交易站兑换新的图纸材料等。
2023-08-15 03:36:441

详解分布式共识(一致性)算法Raft

所谓分布式共识(consensus),与 CAP理论 中的一致性(consistency)其实是异曲同工,就是在分布式系统中,所有节点对同一份数据的认知能够达成一致。保证集群共识的算法就叫共识算法,它与一致性协议这个词也经常互相通用。 当今最著名的共识算法就是Paxos算法。它由Leslie Lamport在1990年提出,很长时间以来都是一致性的事实标准。但是它有两个不小的缺点:难以理解和证明,难以在实际工程中实现。Google Chubby的工程师就曾有以下的评论: 于是2014年,来自斯坦福的两位大佬Diego Ongaro与John Ousterhout通过论文 《In Search of an Understandable Consensus Algorithm》 提出了一个新的共识算法Raft。从题目就可以看出,Raft的特点就是容易理解,在此基础上也容易实现,因此在real world中,它的应用也比Paxos要广泛,比较有名的如etcd、Kudu等。 Raft为了达到易懂易用的目标,主要做了两件事:一是分解问题(decomposition),即将复杂的分布式共识问题拆分为 领导选举 (leader election)、 日志复制 (log replication)和 安全性 (safety)三个子问题,并分别解决;二是压缩状态空间(state space reduction),相对于Paxos算法而言施加了更合理的限制,减少因为系统状态过多而产生的不确定性。 下面先简要介绍共识算法的基础——复制状态机,然后就来按顺序研究Raft是如何解决三个子问题的。 在共识算法中,所有服务器节点都会包含一个有限状态自动机,名为复制状态机(replicated state machine)。每个节点都维护着一个复制日志(replicated logs)的队列,复制状态机会按序输入并执行该队列中的请求,执行状态转换并输出结果。可见,如果能保证各个节点中日志的一致性,那么所有节点状态机的状态转换和输出也就都一致。共识算法就是为了保障这种一致性的,下图示出简单的复制状态机及其相关架构。 根据分布式系统的 Quorum机制 与NRW算法,集群中半数以上节点可用时,就能正确处理分布式事务,因此Raft集群几乎都使用奇数节点,可以防止脑裂并避免浪费资源。采用ZAB协议的ZooKeeper集群也是如此。 在Raft集群中,任意节点同一时刻只能处于领导者(leader)、跟随者(follower)、候选者(candidate)三种状态之一。下图示出节点状态的转移规则。 可见,集群建立时所有节点都是跟随节点。如果在一定时间过后发现没有领导节点,就会切换到候选状态,发起选举。得到多数票的候选者就会成为领导节点。如果候选节点或当前领导节点发现了更新的领导者,就会主动退回跟随状态。 领导节点全权负责管理复制日志,也就是从客户端接收请求,复制到跟随节点,并告诉跟随节点何时可以处理这些请求。如果领导节点故障或断开连接,就会重新进行选举。可见,领导节点的存在大大简化了共识算法的设计。 在上面的图中出现了任期(term)这个词。领导者并不是一直“在位”的,工作一段时间之后,就会选举出新的领导者来接替它。 由上图可见,蓝色表示选举时间段,绿色表示选举出的领导者在位的时间段,这两者合起来即称作一个任期,其计数值是自增的。任期的值就可以在逻辑上充当时间戳,每个节点都会保存一份自己所见的最新任期值,称为currentTerm。另外,如果因为票数相同,没能选出领导,就会立即再发起新的选举。 如果一个或多个跟随节点在选举超时(election timeout)内没有收到领导节点的心跳(一个名为AppendEntries的RPC消息,本意是做日志复制用途,但此时不携带日志数据),就会发起选举流程: 根据其他节点回复的消息,会出现如下三种结果: 获得多数票的节点只要当选,就会立即给其他所有节点发送AppendEntries,避免再次选举。另外,在同一任期内,每个节点只能投一票,并且先到先得(first-come-first-served),也就是会把票投给RequestVote消息第一个到达的那个节点。 至于上面的第三种情况,也就是所谓“split vote”现象,容易在很多跟随者变成候选者时出现,因为没有节点能得到多数票,选举有可能无限继续下去。所以,Raft设置的选举超时并不是完全一样的,而是有些许随机性,来尽量使得投票能够集中到那些较“快”的节点上。 领导节点选举出来后,集群就可以开始处理客户端请求了。前面已经说过,每个节点都维护着一个复制日志的队列,它们的格式如下图所示。 可见,日志由一个个按序排列的entry组成。每个entry内包含有请求的数据,还有该entry产生时的领导任期值。在论文中,每个节点上的日志队列用一个数组log[]表示。 当客户端发来请求时,领导节点首先将其加入自己的日志队列,再并行地发送AppendEntries RPC消息给所有跟随节点。领导节点收到来自多数跟随者的回复之后,就认为该请求可以提交了(见图中的commited entries)。然后,领导节点将请求应用(apply)到复制状态机,并通知跟随节点也这样做。这两步做完后,就不会再回滚。 这种从提交到应用的方式与最基础的一致性协议——两阶段提交(2PC)有些相似,但Raft只需要多数节点的确认,并不需要全部节点都可用。 注意在上图中,领导节点和4个跟随节点的日志并不完全相同,这可能是由于跟随节点反应慢、网络状况差等原因。领导节点会不断地重试发送AppendEntries,直到所有节点上的日志达到最终一致,而不实现强一致性。这就是CAP理论中在保证P的情况下,C与A无法兼得的体现。 日志复制的过程仍然遗留了一个问题:如果领导或者跟随节点发生异常情况而崩溃,如何保证日志的最终一致性?它属于下面的安全性问题中的一部分,稍后会解答它。 安全性是施加在领导选举、日志复制两个解决方案上的约束,用于保证在异常情况下Raft算法仍然有效,不能破坏一致性,也不能返回错误的结果。所有分布式算法都应保障安全性,在其基础上再保证活性(liveness)。 Raft协议的安全性保障有5种,分别是:选举安全性(election safety)、领导者只追加(leader append-only)、日志匹配(log matching)、领导者完全性(leader completeness)、状态机安全性(state machine safety) 。下面分别来看。 选举安全性是指每个任期内只允许选出最多一个领导。如果集群中有多于一个领导,就发生了脑裂(split brain)。根据“领导选举”一节中的描述,Raft能够保证选举安全,因为: 在讲解日志复制时,我们可以明显地看出,客户端发出的请求都是插入领导者日志队列的尾部,没有修改或删除的操作。这样可以使领导者的行为尽量简单化,使之没有任何不确定的行为,同时也作为下一节要说的日志匹配的基础。 日志匹配的具体描述如下。 如果两个节点的日志队列中,两个entry具有相同的下标和任期值,那么: 第一点自然由上一节的“领导者只追加”特性来保证,而第二点则由AppendEntries RPC消息的一个简单机制来保证:每条AppendEntries都会包含最新entry之前那个entry的下标与任期值,如果跟随节点在对应下标找不到对应任期的日志,就会拒绝接受并告知领导节点。 有了日志匹配特性,就可以解决日志复制中那个遗留问题了。假设由于节点崩溃,跟随节点的日志出现了多种异常情况,如下图。 注意图中不是6个跟随节点,而是6种可能的情况。比如a和b是丢失了entry,c和d是有多余的未提交entry,e和f则是既有丢失又有冗余。这时领导节点就会找到两个日志队列中最近一条匹配的日志点,将该点之后跟随节点的所有日志都删除,然后将自己的这部分日志复制给它。例如对于上图中的情况e来说,最近一条匹配的日志下标为5,那么5之后的所有entry都会被删除,被替换成领导者的日志。 领导者完全性是指,如果有一条日志在某个任期被提交了,那么它一定会出现在所有任期更大的领导者日志里。这也是由两点来决定的: 根据这两个描述,每次选举出的领导节点一定包含有最新的日志,因此只存在跟随节点从领导节点更新日志的情况,而不会反过来,这也使得一致性逻辑更加简化,并且为下面的状态机安全性提供保证。 状态机安全性是说,如果一个节点已经向其复制状态机应用了一条日志中的请求,那么对于其他节点的同一下标的日志,不能应用不同的请求。这句话就很拗口了,因此我们来看一种意外的情况。 这里就有问题了,在时刻c的日志与新领导者的日志发生了冲突,此时状态机是不安全的。 为了解决该问题,Raft不允许领导者在当选后提交“前任”的日志,而是通过日志匹配原则,在处理“现任”日志时将之前的日志一同提交。具体方法是:在领导者任期开始时,立刻提交一条空的日志,所以上图中时刻c的情况不会发生,而是像时刻e一样先提交任期4的日志,连带提交任期2的日志。就算此时S1再崩溃,S5也不会重新被选举了。 如果想要更直观地理解Raft,建议参考 这里 ,是一个用动画来描述该算法的网页,形象生动。
2023-08-15 03:37:001

raft发光虾怎么钓

在《Raft》游戏中,可以通过以下步骤钓发光虾:1. 首先进入游戏《Raft》,点击进入游戏,点击商店,买一个鱼竿,点击地图。2. 其次搜索动物园,到了之后,到最近的鱼塘里,用垃圾块当做鱼饵,将鱼竿放入鱼塘中。3. 最后看到有许多发光的虾被引上上来,就说明抓取成功了。
2023-08-15 03:37:072

raft什么意思

raft的意思是:筏。一、释义n.木排;木筏;筏子;浮台;大量;许多;救生艇;橡皮船;漂浮物;大群游动的水鸟;v.乘筏行进;将…并排连为一体;用筏子运送;随浮冰流淌;筏流;筏运。二、短语搭配1.life raft 救生筏2.raft spider 水面蜘蛛;狡蛛3.lipid raft 脂筏;脂筏结构;脂质筏4.rubber raft 橡皮筏;橡皮艇三、例句1.I made for the life raft and hung on for dear life.我向救生筏游去,死命地抓住它。2.Build your own raft and take to the water by following these instructions.自己造一个筏子,依照本指南下水。3.Currently the specialized design standard for piled raft foundation is not constituted yet.我国现行规范中尚无桩筏基础的设计规范。
2023-08-15 03:37:321

raft新手版和标准版区别

raft新手版和标准版区别就是新手版的难度比标准版要小很多,在新手版,很容易存活,可以无限建造东西,不用收集物品,鲨鱼不攻击,天气随机,不会饿不会渴,当然,也不会飞易模式,漂流物很多,开局没有任何操作12分钟40秒死亡。物品有限,漂流物较多,开局没有任何操作10分钟左右鲨鱼咬碎第三块出生甲板,连同第四块甲板也一次消失,坠海,然后被鲨鱼咬死,稀有物品较少,口渴的速度比简单更快,开局没有任何操作15分钟后渴到怀疑人生,同时鲨鱼咬碎第三块出生甲板,连同第四块甲板也一次消失,坠海,然后被鲨鱼咬掉最后一口血死亡。raft游戏的内容RAFT是一款生存冒险类的PC游戏,玩家们需通过各种资源求生并在木筏上建立自己的家园,还得小心食人鲨鱼的攻击,目前游戏仍处于抢先体验。无论是独自一人,还是和朋友一起,你的任务都是在史诗般的海洋冒险中幸存下来,一个危险的海洋,收集残骸以生存,扩大你的筏子,小心危险,被困在一个小筏子上,身上只有一个旧塑料做的钩子。蓝色的海洋,完全孤独,看不见陆地!喉咙干涩,肚子空空,生存并不容易,筏子把你和你的朋友扔进一个史诗般的冒险在广阔的大海,与目的生存,聚集资源,建设自己值得的浮动家园,海上的资源是很难得到的,玩家必须确保用他们信任的钩子抓住任何漂浮的碎片,如果可能的话,在海浪下面的珊瑚礁和上面的岛屿上觅食。然而,干渴和饥饿并不是海洋中唯一的危险小心人类,食人鲨鱼决定结束你的航行。
2023-08-15 03:37:581

raft怎么退出游戏

raft游戏中点击ESC打开菜单,然后点击退出游戏即可退出游戏。《RAFT》是由Redbeet Interactive制作Axolot Games于2018年5月24日发行的一款生存冒险类的PC游戏。玩家们需通过各种资源求生并在木筏上建立自己的家园,还得小心食人鲨鱼的攻击。游戏仍处于抢先体验。游戏介绍:无论是独自一人,还是和朋友一起,你的任务都是在史诗般的海洋冒险中幸存下来。一个危险的海洋!收集残骸以生存,扩大你的筏子,小心危险。被困在一个小筏子上,身上只有一个旧塑料做的钩子。蓝色的海洋,完全孤独,看不见陆地!喉咙干涩,肚子空空,生存并不容易!筏子把你和你的朋友扔进一个史诗般的冒险在广阔的大海,与目的生存,聚集资源,建设自己值得的浮动家园。海上的资源是很难得到的:玩家必须确保用他们信任的钩子抓住任何漂浮的碎片,如果可能的话,在海浪下面的珊瑚礁和上面的岛屿上觅食。然而,干渴和饥饿并不是海洋中唯一的危险……小心人类!食人鲨鱼决定结束你的航行!
2023-08-15 03:38:131

raft海里的热带鱼怎么抓

在游戏《RAFT》中抓热带鱼的方法如下:1. 积攒足够的材料,用于制作鱼竿。2. 按tab键调出建造菜单,再点击鼠标左键,在菜单中选择鱼竿,制作鱼竿。3. 走到木筏的边缘,按左键,蓄力并抛出鱼钩。4. 鱼钩抛入水中后,及时收线,将钩子钩取顺流而来的热带鱼。5. 收到提示和物品栏中收获的热带鱼。以上就是《RAFT》中抓热带鱼的方法,希望能够帮助到您。
2023-08-15 03:38:302

raft锅怎么放5种东西

raft锅放不了5种东西,每道菜所需要的材料数量都是4个。打个比方,蔬菜汤+四个土豆、四个菜头、两个土豆+两个菜头、三个土豆+一个菜头都行。准备食材,添加木柴,按E依次放入特定的材料,最后对锅按E,进行烹饪,等待煮完,用碗装下即可。介绍《RAFT》是由Redbeet Interactive制作Axolot Games于2018年5月24日发行的一款生存冒险类的PC游戏。玩家们需通过各种资源求生并在木筏上建立自己的家园,还得小心食人鲨鱼的攻击。游戏仍处于抢先体验。筏子把你和你的朋友扔进一个史诗般的冒险在广阔的大海,与目的生存,聚集资源,建设自己值得的浮动家园。海上的资源是很难得到的,玩家必须确保用他们信任的钩子抓住任何漂浮的碎片,如果可能的话,在海浪下面的珊瑚礁和上面的岛屿上觅食。
2023-08-15 03:38:371

raft一共有几个主线岛

Raft游戏中一共有四个主线岛屿。它们分别是初始岛屿、大型岛屿、蜘蛛岛和电台岛。初始岛屿是玩家最早开始的地方,提供基本资源。大型岛屿是一个重要的进阶区域,拥有更多的资源和挑战。蜘蛛岛是一个危险的地方,有大量的蜘蛛和宝藏。电台岛是游戏中的最终目标,需要完成一系列任务才能到达并启动电台。这四个主线岛屿是玩家在Raft中进行探索和生存的关键地点。
2023-08-15 03:39:461

raft熔炉怎么做

首先需要收集4个厚木板、6个干燥的砖块、4个碎片、6个钉子;然后打开合成栏,选择合成中的其他选项,再点击其中的熔炉;最后点击制造就可以制作出熔炉了。raft木筏求生原本是电脑上相当受欢迎的一款单机生存游戏,现在被移植到了手机上,相比传统的手机生存游戏,木筏求生更有自己的特点;首先,主题就很新颖,要在大海上进行生存,一般的生存游戏都是在孤岛上,或者恶劣的环境下面;其次,游戏画面和音效也是相当不错的,模拟了真实的海洋环境,就连潜水的时候,屏幕都会出现被水打湿的效果,很逼真;其他方面就不做过多介绍了,自己进入游戏体验才更能感受到。
2023-08-15 03:39:551

raft海怪怎么出现

1.玩家先要造船,然后坐着船去深海。2.海怪最容易出现的时间段是傍晚、晚上。3.拿出背包中的东西一个个丢在海面上,推荐用树枝。4.丢在海面上的东西可以用拖网打捞,捞上来再丢进海里吸引海怪。5.反复多次后海怪就在当前位置出现了。拓展资料:《RAFT》是由Redbeet Interactive制作Axolot Games于2018年5月24日发行的一款生存冒险类的PC游戏。玩家们需通过各种资源求生并在木筏上建立自己的家园,还得小心食人鲨鱼的攻击。游戏仍处于抢先体验。
2023-08-15 03:40:041

raft回收站怎么获得

第一个主线岛信号站的顶层房间里可以获得。1、首先进入木筏求生的游戏主界面。2、然后在进入蓝图中的第一个主线岛。2、最后在信号站的顶层房间里可以拿到raft回收站。
2023-08-15 03:40:111

raft引擎怎么用

raft中引擎使用的方法如下:工具/原料:台式机兼容机、Windows1021H1、raft1.081、打开制作菜单,制作一台引擎。2、制作出的引擎要安装在木船四周边缘。3、向引擎中添加厚木板或者蜂蜜作为燃料。4、扳动扳手调整引擎桨叶前进或者后退的方向。5、启动引擎,木船就能航行在大海上了。
2023-08-15 03:40:191

raft接收器怎么用

raft接收器使用方法如下:垒高台刚开始的时候接收器是处于第一层(桌子下面有两块高台),所以打开显示高度太低我们往上垒高一层。调整天线在打开后就显示三个天线没有摆放,这就是高度对了。这个时候我们就要去调整一下我们的天线了。放置电池我们3根天线的高度必须和我们的接收器的高度一致,给接收器放置电池,这样我们的接收器就可以用了。打开接收器我们打开我们的接收器,然后我们在接收器上可以看到有个点和数字。接收器上的点表示的是大油田或者大岛屿,而数字表示的则是距离。
2023-08-15 03:41:241

raft引擎怎么用

raft中引擎使用的方法如下:工具/原料:台式机兼容机、Windows1021H1、raft1.081、打开制作菜单,制作一台引擎。2、制作出的引擎要安装在木船四周边缘。3、向引擎中添加厚木板或者蜂蜜作为燃料。4、扳动扳手调整引擎桨叶前进或者后退的方向。5、启动引擎,木船就能航行在大海上了。
2023-08-15 03:41:331

raft河豚怎么抓

打开游戏,来到河豚经常出现的区域,选择石头弓箭。潜入水中,不断寻找河豚,找到后,瞄准射击。一般连续射击三次即可击毙河豚,然后长按E捡起河豚即可。河豚的位置在大岛的周围的海里,一般在高山岛、群岛、石门岛、月牙岛等。河豚是有刷新时间的,玩家可以在同一区域反复捕获河豚。RAFT是由Redbeet Interactive制作Axolot Games于2018年5月24日发行的一款生存冒险类的PC游戏。 玩家们需通过各种资源求生并在木筏上建立自己的家园,还得小心食人鲨鱼的攻击。
2023-08-15 03:42:191

raft一共几章

raft一共2章。熊岛第一章,球型城市第二章。《RAFT》是由Redbeet Interactive制作Axolot Games于2018年5月24日发行的一款生存冒险类的PC游戏。玩家们需通过各种资源求生并在木筏上建立自己的家园,还得小心食人鲨鱼的攻击。游戏仍处于抢先体验。无论是独自一人,还是和朋友一起,你的任务都是在史诗般的海洋冒险中幸存下来一个危险的海洋!收集残骸以生存,扩大你的筏子,小心危险被困在一个小筏子上,身上只有一个旧塑料做的钩子。蓝色的海洋,完全孤独,看不见陆地!喉咙干涩,肚子空空,生存并不容易!筏子把你和你的朋友扔进一个史诗般的冒险在广阔的大海,与目的生存,聚集资源,建设自己值得的浮动家园
2023-08-15 03:42:271

raft怎么关误伤

通过游戏设置。1、首先打开raft游戏设置。2、其次点击游戏内容设置。3、然后找到队伤功能。4、最后将队伤功能关闭即可关闭误伤。
2023-08-15 03:42:341

raft怎么吃东西按键

raft吃东西的按键是B键加鼠标左键。使用食物的方法是简单的,按B键打开背包,然后直接在背包里左键点击食物,然后点下面的使用就是。当你不小心掉入海中被鲨鱼咬得掉血了,吃食物的同时也能回复你的生命值。大家尽量不要吃生的,生的加的饱食度太少了。加工材料只需要茅草就可以了,很容易获得,尽量弄熟吃。简介:《RAFT》是由Redbeet Interactive制作Axolot Games于2018年5月24日发行的一款生存冒险类的PC游戏。玩家们需通过各种资源求生并在木筏上建立自己的家园,还得小心食人鲨鱼的攻击。游戏仍处于抢先体验。
2023-08-15 03:42:421

一文读懂raft一致性协议算法并理解其中的关键设计

为了避免单个机器可能出现的数据丢失、单点故障等问题,人们想出了通过复制数据到多个机器上的方式来解决。但是有多个机器时,带来的另一个问题就是如何保证这些机器之间的数据是一致的呢?不能因为某个机器故障或错误,导致各个机器之前数据混乱或丢失。这就是分布式一致性算法要解决的问题。 业界比较有名的分布式算法是paxos,不过可惜的是它比较晦涩难懂,难懂的代价就是很少有人能掌握它然后基于它做出可靠的实现。 不过幸好raft及时出现,raft的特点是易于理解,并且已经有非常多的实际系统是基于raft算法实现的了,比如tikv、etcd等。文章末尾我们还会解释一下raft的名字。 raft的易懂性的一个重要方式就是对问题进行拆分,让大家能够独立理解每个子问题。 raft的分布式一致性问题可以拆分成哪些子问题呢? 可以分为 raft把分布式系统抽象成了分布式的状态机,每个状态机有一个log队列,log队列中存放的是状态机的指令,只要保证各个节点的log队列的数据顺序和值一致,就能保证状态机最终的状态是一致的。 在raft,节点一共有3中角色,leader、follower、candidate。 在raft系统中,同一时间只会有一个leader,leader负责处理客户端的请求,并且同步log给follower, leader定期通过给follower发送心跳,保持自己的leader地位。 初始时所有的节点都处于follower状态,当follower一段时间(election timeout)内没有接收到leader的请求时(log复制或心跳),就会把自己转变为candidate角色,candidate是成为leader前的准备状态,candidate会向其他节点发送RequestVote请求,请求其他节点为自己投票,如果某个candidate获得了半数以上(包括自己)的节点的投票支持后,就可以成为这一届的leader。这里为了防止节点可能同时唤醒成为candidate,会增加一个随机机制,让超时时间随机,减少冲突概率,即使出现了冲突(多个candiate且都获得相同的投票),会在一段时间后进行下一轮投票。每一轮的选举会有一个term(任期)的值,term会从1开始递增,每一个follower在一个任期内只会投票给一个节点,这样加上半数以上机制就能保证同一个term内最多只会出现一个leader。 成为leader之后,就可以接收客户端的请求,leader接收客户端请求后,会写入本地log,并同步给所有的follower(通过AppendEntries的RPC请求),follower会写入本地log,返回给leader成功,leader接收到半数以上(包括自己)的写入成功后,会进行commit,commit后这个修改就会应用到状态机中,并且返回给客户端请求成功。AppendEntries请求中会包含当前leader的term和日志的index。每次AppendEntries请求中会带上leader的commitIndex,这样follower就知道哪些log可以被应用到状态机上了。 如果某个时刻leader故障了,而leader刚刚同步的log并没有同步给全部follower,则这时一个没有完成同步的follower如果成为下一个leader,则会导致前一任leader已经commit的数据丢失,这是不能接受的。 在raft中是如何解决这个问题的呢?raft中巧妙的实现了必须拥有已经commit的log的节点才能成为下一个leader,当follower收到一个candidate的RequestVote时,RequestVote中包含term、lastLogTerm、lastLogIndex,term是这个candiate的发起新的leader选举的term,lastLogTerm是candidate上最后一个log的term,lastLogIndex是最后一个log的index,term和index能够共同定位出唯一一个log。 如果candidate的lastLogTerm小于当前follower的最后一个log的term,则会拒绝这个RequestVote请求。如果candidate的lastLogIndex小于当前follower的最后一个log的index,则会拒绝这个RequsetVote的请求。 通过这个限制,就能够保证选举出的新leader,是不会丢掉已经commit的数据的。并且当leader给follower同步数据(AppendEntries请求)时,会带上上一个log的term和index,如果follower的上一个log的term和index不相同,follower会返回错误,leader会进行回溯,这样就可以将follower的数据和leader进行校准。 系统持续运行log可能会持续增加,持续增加的log带来的问题有,1是占用过多的磁盘空间,2是如果有新节点加入,则需要同步的数据会非常多。 因此raft中提出了log compaction的机制,就是做快照,这个与mysql中的redo log类似。程序在特定时间(比如定时或log到达一定长度)后会对状态机保存快照,这样这个状态机之前的log就可以丢弃了,只需要持久化、传输这个快照就可以了。一般快照都比log会小很多。 服务在运行过程中,可能出现要添加修改删除节点的情况,比如某个机器坏了,我们就需要给集群换一个机器,再比如我们想提高集群的故障容忍度,可能就需要添加节点。 raft中提出的修改membership的方法为joint(联合) consensus 我们把raft集群节点的列表称为配置,当要进行节点修改时,就是从一个旧的配置(C-old)修改到新的配置(C-new),当leader收到要进行集群配置修改的请求后,会创建一个C old-new的配置(旧集群和新集群合并),作为raft log发送给follower,当follower收到C old-new后,会立刻使用C new配置。一旦C old-new被commit后,Cold和Cnew必须联合起来做决定(包括log复制和leader选举),两个集群配置不能做单边决定,然后leader会再发送一个C new的配置,C new的配置commit后,old配置就失效了,old配置中的节点也可以安全关闭了。这个机制能够保证C old和C new不会做单边决定,从而保证了安全性。 最后,关于raft这个名字的理解, raft为什么叫raft呢? 官网和google上并没有明确的答案。下面是我的理解。 raft在英文中的名字是木筏的意思,从raft的logo可以看出,它是有三个木头组成,那么木头在英文中有什么名字呢,log的意思也是木头。 3个木头代表3个log,分布式的replicate log,是不是很巧妙?
2023-08-15 03:42:581

raft羊毛怎么剪

raft羊毛怎么剪,具体如下:1、打开制作菜单,制作一把剪羊毛刀。2、抓到的羊放在围栏里放几块小草坪,羊饿了会吃草。3、养一段时间以后,羊身上就会出现剪刀的图标,可以采集羊毛了。4、装备剪羊毛刀,鼠标点击羊就会把羊毛剪下来。raft:《RAFT》是由Redbeet Interactive制作Axolot Games于2018年5月24日发行的一款生存冒险类的PC游戏。玩家们需通过各种资源求生并在木筏上建立自己的家园,还得小心食人鲨鱼的攻击。游戏介绍:无论是独自一人,还是和朋友一起,你的任务都是在史诗般的海洋冒险中幸存下来。一个危险的海洋!收集残骸以生存,扩大你的筏子,小心危险。被困在一个小筏子上,身上只有一个旧塑料做的钩子。蓝色的海洋,完全孤独,看不见陆地!喉咙干涩,肚子空空,生存并不容易!筏子把你和你的朋友扔进一个史诗般的冒险在广阔的大海,与目的生存,聚集资源,建设自己值得的浮动家园。海上的资源是很难得到的:玩家必须确保用他们信任的钩子抓住任何漂浮的碎片,如果可能的话,在海浪下面的珊瑚礁和上面的岛屿上觅食。然而,干渴和饥饿并不是海洋中唯一的危险……小心人类!食人鲨鱼决定结束你的航行!
2023-08-15 03:43:071