带你读《对象存储实战指南》第二章协调和复制2.1协调(五)

本文涉及的产品
对象存储 OSS,20GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
对象存储 OSS,恶意文件检测 1000次 1年
简介: 《对象存储实战指南》第二章协调和复制2.1协调(五)

2.1.7RAFT

 

2013,斯坦福大学DiegoOngaroJohnOusterhout发表RAFT文综合前人的成果,将复杂的 PAXOS协议理论用 更简单的方式描述,同时在细节上大晕借鉴 VR工程实现上的落地性,最终让 RAFT被学术界和产业 界广泛接受。

如图 2-12所示,首先根据共识理 论的成果 ,定义架构核心为状态机复制和日志,然后描述故障发生后角色   领导者、跟随者、候选者,类似 PAXOS角色)的状态切换,接着 描述成员变换后的视图 ( Term, 类似 VRView视图序号更新,最后描述复制曰志 的顺序( LogIndex, VRLog) ,从而成为共识理论的最新集大者。

image.png

2-12RAFT架构原理

 

2.1.8协调达成共识算法分析

 

通过学术和产业两 个角度的绍及算法 分出,共识算法解决的核心问题是系统成员正常时如何解决多个请求提的顺序处理间题并保证每个提能够被系统成员投票达成致,以及系 统成员异常时如何重新选取成员 并让系统重新进入正常状态 实生活中,美国国会开会的罗伯特议事 规则就是解决共识的经 典方案,团队开会 也是简单的共识解决方法

·   会议的 N位成员正常时的议题处理方法。会议秘书 收集议题 ,秘书会按顺序编号 议题,对于相同的议题进行合并或排序 会议主 持人发出评审议题 X, 参会入对该议题反馈同反对 ,然后主持人根据会 议成员 的投结果 (如多千一半的成员同意

出议题的结 论。评审完议题 x, 再次评审下个 议题 ,到所有议题结束

·   会议的 N位成员异常时的议题处理方法。如果成员出现异常,如主待人请假、 参会请假新增参会人等,就必须会议投票 机制

►     主持请假,则需 要选出 新的主持要有机制、流程选出新的主持人,

持人必须能握会议运作机制和 投机制(如成员变N- 1位)。

     若参会人调整(参会人请假、新增参会人),需要整新投票    机制假设有

1请假,那么新的会议成员 为M位,M=N- 1。若投票时 ,超过(? M/2) 员同意,则该议题通

1.    .  状态机复制

 

共识在成员 时,采用主来控制议题的顺序性,并且主来推动成员 的投,就像会议的主 持人推动参会人投票议题 ,并按议题 序推进会议到议题结束。

 

2.    投票

 

想要请求在共识的多个成员 中达成致,则需要采用投票 机制进行决策。类会议主持人要求参会人 投票,对议题 X达成同意反对的结论员投票 只是给出反馈,还需要下决策方案。

·   同等权重决策。成员每人 1,权相同,假设总分N, 那么只意的结论分大千或等千 N/2时,该议题才能被同意。

·   不同权重决策。成员每1票,权不相同,如主待人为 3分,参会人为 1分,假设总分为 M; 那么只有同意的结论分大 千或M/2时,该议题才能被同 意。

3.    故障类型

 

共识协议能实现故障的容错,分布式系 统中典型的故障如下

 

·   崩溃故障 ( CrashFa ilure, 也叫作 Fail-Stop) 。成员在发生故障后会停运行 ( FaStop)例如,服务器直接崩溃 重启,由千及时从系统中离开,所以让状态机的后续运行更简单。

·  拜占庭故障。成员发故障但并不 停止运 行,进入不 稳定状态 ,甚至给出 错误的反例如,扮的进程因系统繁忙偶发挂住 ( Hang) ,时而响,时而不响应,甚至返回错误的消息 。于成员亚健康状,会扰系统的状运行,所以难处理

4.   选主

 

共识协议中的成员发故障时 ,特别是主成员发故障时 要进行选主动作 ,如议主持人请假通常来说,选主有以下解决方案。

·  基千投票选举。参与的成进行投票 ,按照投的半数得分决策原则选主。


 

·   优先级 ( Priority) 选举。参选主的成员被指定优先级 ID,由 ID号最小的成员作为主,就像权利的顺位继该方法决策速度快 。选择日 志序号最小的成员作为新主可以提高恢复效率 为其他成员只需向新主 获取差鼠的日志,而无须日志退的处理逻辑

5.   日志复制

 

支持数据 持久化能力的共识算法在复制状态机中需要引入日 志复就是说 ,将机中涉及数据变更的请求建、删除更新等按更新操作的日志 序号保存,从而支持员发生故障后 的恢复。

个成员根据机运行,无依赖地独 记录自己的日志。在员发生故障时 ,根据选主策略对日志顺序号进行,选日志顺 序号最大的成员作新主。由千新主有最多的日志记,所以未成为主的成员向它申请修复差量 的曰志 ,然后正确地进入 新状态。控制日志存储空间大 小,以及如何设日志组织 Checkpoint) 是成员快速恢关键技

 

2.1.9对象存储服务的共识应用

 

对象存储作为典型的分布式系 统,必须要有致性共识服务 阿里云对象存储依赖 女蜗识服务,女娱是阿里云飞天系统底层核心模块 之,女姻对外提供致性共识、分布式锁、消息通知等服务。与业界类似功能的开源软件 ( ZooKeeperETCD)   相比,女姻在性能、可扩展性和可运维性上有明显的优势,如图 2-13所示

image.png

图 2-13阿里云女蜗一致性(共识)服务

女娴服务采用两 层架构,后端是实现致性的功能模块 ,前端是达到分流效果 的前端机,从而提供更 好的扩展能力,支撑大规模云务的接入。

·  前端机通过 VIP做负载均衡,主要实现两个功能:第个,负责维护众多客户端 的通信,从而 保证客户 端请求能够均衡到后 端;第个,向客端隐藏后端的切换过,同时提供高效的消息通知功能

·  后端由台服务器 组成 PAXOS组,形成一致性共识协议核心 为客户端使用的资源

(文件、锁提供 PAXOS组仲裁并采用 PAXOS分布式 共识协议进行同步 ,保证资源的致性和待久化 为了提供更 好的扩展能力 ,后端提供了多个 PAXOS

因此,通过多 VIP冗余、前端机透明切 换、冗 余的致性共识 PAXOS组,实现发生故障时的快速切换,从而 为一致性共识提供高可用性

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
对象存储
|
对象存储
|
存储 对象存储
带你读《对象存储实战指南》第三章命名和同步3.4小结
《对象存储实战指南》第三章命名和同步3.4小结
178 0
带你读《对象存储实战指南》第三章命名和同步3.4小结
|
存储 数据库 对象存储
带你读《对象存储实战指南》第三章命名和同步3.3逻辑时钟(一)
《对象存储实战指南》第三章命名和同步3.3逻辑时钟
183 0
带你读《对象存储实战指南》第三章命名和同步3.3逻辑时钟(一)
|
存储 监控 算法
带你读《对象存储实战指南》第三章命名和同步3.2物理时钟同步(一)
《对象存储实战指南》第三章命名和同步3.2物理时钟同步(一)
227 0
带你读《对象存储实战指南》第三章命名和同步3.2物理时钟同步(一)
|
域名解析 存储 缓存
带你读《对象存储实战指南》第三章命名和同步3.1命名技术(三)
《对象存储实战指南》第三章命名和同步3.1命名技术(三)
192 0
带你读《对象存储实战指南》第三章命名和同步3.1命名技术(三)
|
网络安全 对象存储 网络架构
《对象存储实战指南》第三章命名和同步3.1命名技术(二)
《对象存储实战指南》第三章命名和同步3.1命名技术
203 0
《对象存储实战指南》第三章命名和同步3.1命名技术(二)
|
监控 网络协议 Java
带你读《对象存储实战指南》第三章命名和同步3.1命名技术
《对象存储实战指南》第三章命名和同步3.1命名技术
206 0
带你读《对象存储实战指南》第三章命名和同步3.1命名技术
|
vr&ar 对象存储
带你读《对象存储实战指南》第二章协调和复制2.3小结
《对象存储实战指南》第二章协调和复制2.3小结
131 0
带你读《对象存储实战指南》第二章协调和复制2.3小结
|
存储 对象存储 块存储
带你读《对象存储实战指南》第三章命名和同步3.3逻辑时钟(二)
《对象存储实战指南》第三章命名和同步3.3逻辑时钟(二)
184 0

热门文章

最新文章