开发者社区> 问答> 正文

分布式系统的原子广播原理是什么?

分布式系统的原子广播原理是什么?

展开
收起
游客qunztrp5ggyqy 2021-12-09 17:37:55 742 0
1 条回答
写回答
取消 提交回答
  • image.png

    上图原子广播技术原理图(a)所示为 BirmanKenneth关千原子广播的论文架构,其中组播层包含组播(GroupBroadcast, GBCAST入原子广播(AtomicBroadcast, ABCAST)和先后广播( CausalBroadcast,CBCAST),实现多台服务器之间的 Broadcast协议。

    核心的交互流程如上图(b)所示,每次有新的成员加入将进行视图(View)变换。例如,B加入 A形成新的视图(A、B),或者A离开旧视图(A、B、C)形成的新的视图(B、C),视图变换期间暂停客户端请求,从而提高视图变化效率。而当视图内部较多成员出现异常时,将基千多数派投票 ( Quorum) 机制形成新的稳定视图。例如,在系统总共有 N个成员的情况下,如果成员出现异常,那么只有出现异常的成员个数大千或等千( N+l)/2,才能形成新的视图。

    视图变换成功进入 稳态后,客户端就能 以原子广播形式给 视图中的成员发送信息 ,并且保证完全顺序,如图 2-8(b) 所示。在视图(A、B、C)形成后,如果客户端 l先千客户端2发送消息给该视图,那么在保证该视图的成员 A、B、C都处理完客户端 l的消息后,再处理客户端2的消息。

    原子广播技术可以在某种程度上解决两将军问题,或者非拜占庭故障下的多将军共识问题。把原子广播中的成员当作将军,若将军间通信出现异常,则将通过多数派投票淘汰异常的将军,形成新的共识,一旦形成新的共识,那么后续的消息通信将保证完全顺序。

    产业界的VCS( VeritasClusterServer) 就是基于GAB来实现集群的共识,以及保证集群消息通信在成员间的原子性和顺序性的。

    资料来源:《对象存储实战指南》

    2021-12-10 11:06:05
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
基于社区的分布式 风险感知模型 立即下载
如何利用Redisson分布式化传统Web项目 立即下载
FLASH:大规模分布式图计算引擎及应用 立即下载

相关实验场景

更多