Raft实现报告(五)

简介: Raft实现报告(五)

Raft实现报告(五)

一致性检查会做什么

紧接上文为了讲follower的日志与自己保持一致性,leader必须找到最新的日志条目的那个点,且二者的日志都要满足,然后将follower在该点之后的全部的点都删除掉。然后将自己在该点之后的日志全部覆盖到follower的日志中去,简单点来说就是找到二者重合最新的节点处,将leader的日志条目全部覆盖,注意是覆盖follower的日志条目。

全部的这些动作都发生在AppendEntries RPC做一致性检查的时候。leader会位每一个follower维护nextIndex,nextIndex是leader下发下一个log的索引,当leader第一次启动的时候,他会初始化好所有的nextIndex值,紧跟他现有存储的log队列之后。如果follower的日志跟leader的日志不一致,AppendEntriesRPC返回一个拒绝,leader会降低nextIndex的值,然后重新尝试发送RPC请求,最终nextIndex将会到达我们上述的一致点。也就是与不一致follower重合的那个点。

到达同步点之后,ApeendEntries就会成功,因为此时,冲突的条目将会被移除,然后复制leader的条目。一旦AppendEntries成功,那么follower的log将会与leader的保持一致。

raft中可能的优化

如果需要,Raft可以优化,就通过减少AppendEntries RPCs的拒绝次数,举个例子,当follower拒绝了AppendEntries请求,follower可以记录这次冲突发生的term(论文中,raft的逻辑计数器,所记录的是一轮稳定状态的时间段)和这次term中第一个条目索引。带有这些信息的话,leader再去减少nextIndex来绕过所有冲突条目,那每个term中有条目冲突时,AppendEntries都会需要一次,而不是每个条目都需要做一次。在实际体验中,他们还对这种优化的必要性有怀疑,论文中提到失败少有发生,而且不太可能出现有很多不一致的条目的情况。

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
存储 数据库
Confluence 6 大致的用户规模示例
针对非集群 Confluence 实例,下面是一些硬件配置。上面的内存数量不区分服务器使用的内存还是 JVM 使用的内存,表格中的空白,表示的是没有这方面的数据。 用户数量 空间数量 页面数量 CPUs CPU (GHz) RAM (MB) 备注 150 30 1,000 1 2.
1813 0
|
安全 网络安全 数据安全/隐私保护
|
2天前
|
数据采集 人工智能 安全
|
12天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1023 151
|
3天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1722 9
|
8天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
663 152
|
10天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
632 15