System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于分布式系统构建,具体涉及一种基于lrpaxos算法的高可用分布式系统及方法。
技术介绍
1、实现分布式系统高可用的主要技术是数据复制。通过在多个节点上存储相同的数据,当某个节点发生故障或者网络延迟时,用户仍然可以从其他节点上读取或写入数据,而不会影响整个系统的运行和数据的访问,并且当用户对分布式系统进行读写操作时,用户可以从任意一个节点上读取或写入数据,而不需要考虑节点是否在线或者是否发生故障,从而提高了系统的可用性。
2、然而多副本的存在也给如何在跨地域不同副本之间实现数据的同步和更新带来了挑战。数据一致性可以根据分布式存储系统是否允许用户读取过期或者脏数据,分为强数据一致性和弱数据一致性,分别表示多个节点上备份的相同数据在任何时刻都是相同的或者最终达成一致。为保证分布式系统数据强一致性,现在有多种实现方案。其中主从同步复制策略是指主节点在执行完客户端提交的事务后,需要等待所有或者大多数从节点都接收并处理该事务后,才将结果返回给客户端。这样可以保证主从节点上的数据始终一致,但是会牺牲系统的可用性和性能,因为如果某个从节点发生故障或者网络延迟,就会导致整个系统阻塞或者超时。所以随着互联网技术的飞速进步和用户需求的日益增加,为了保证系统的高可用性和数据的快速访问,必须提出一种高效的、高可扩展的数据一致性共识协议。
3、面对该挑战,工业界普遍使用基于消息传递的分布式一致性算法(paxos算法),paxos算法能够在异步系统中容忍节点故障和消息丢失。其目的是在一个可能发生节点故障或者消息丢失的分布
4、传统paxos协议中如果领导者出现宕机或网络分区等单点故障,整个集群就一直无法对某个提案达成共识,直到选出一个新的提议者。这就降低了协议的可用性和容错性。第二,由于提议者需要与所有的接受者进行两轮通信很容易成为通信的单点性能瓶颈,这就限制了协议的吞吐量和延迟。第三,提议者的选举开销会增加协议的复杂度和开销。当提议者发生故障或网络分区时,需要通过一个额外的选举过程来选出一个新的提议者。这个过程可能需要多轮投票和超时机制,增加了协议的复杂度和开销。第四,面对现在云边端协同的异构网络环境,没有考虑其所属的网络环境特点,网络因素会很大程度影响共识协议的性能。导致现有的方法不具备良好的性能和可扩展性。
技术实现思路
1、针对现有技术的不足,本专利技术设计一种基于lrpaxos算法的高可用分布式系统及方法;提供了一套能够有效避免单一领导者节点的性能阈值成为分布式系统的性能瓶颈风险的方案,更好的平衡了各个节点的负载和资源利用率,以提高分布式系统的容错性和可用性,并且能够解决异构环境下的分布式系统数据同步问题。
2、一种基于lrpaxos算法的高可用分布式系统由管理员模块和系统用户模块组成;
3、所述管理员模块负责日志落盘及分析、集群性能分析和一致性保证,分别由系统管理模块、结果记录模块、一致性算法模块三部分组成;
4、系统管理模块:负责系统的日志管理和系统参数管理,包括节点的加入、退出、故障检测和恢复;日志会记录一致性过程中的集群节点分组状态、领导者节点编号、集群间节点传递的网络rpc请求,当系统出现宕机崩溃时,通过回放日志进行状态回复,保证集群节点的数据有效性、一致性;系统参数管理记录系统运行中内存、cpu利用率、网络带宽利用率参数的数据,支持实时采样,并以数据表格的形式持久化在硬盘中;
5、结果记录模块:负责记录分布式系统的操作日志,包括数据的更新、查询、删除;该模块包括两个功能:标记结果功能,在系统完成客户端发送数据并对所有数据进行同步之后,以json格式记录每一个时间段下系统处理的消息条数、成功消息数、失败消息数、消息同步时延;上传结果功能是获得结果之后通过网络返回给系统,系统经过传输呈现给用户界面;
6、一致性算法模块:负责保证分布式系统的数据一致性,即在不同的节点上,数据的状态是相同的;采用基于领导者轮询的lrpaxos算法,完成选举集群中的领导者任务;推选出一个合法的提案,并将该提案复制至所有节点,最后完成状态更新;
7、所述系统用户模块负责系统的可视化、承担与系统用户的交互和记录系统用户操作和信息的功能;由分布式集群选择模块和客户端节点选择两部分构成;
8、分布式集群选择模块:负责接收系统用户的配置参数,包括节点数量、节点ip通信地址、节点资源配置信息、客户端ip地址;将这些参数传递给系统管理模块,以便初始化分布式系统;包括以下两个功能:集群节点数量的设定,该功能设置了集群中节点的数量,也为集群节点具体参数设定定下了标准,用户通过了解节点的网络通信,就能通过链接控制集群节点配置分布式一致性环境,进而模拟分布式集群数据复制的情况;
9、客户端节点选择:负责展示分布式系统的运行状态,包括节点的状态、数据的分布、操作的执行;还负责记录系统用户的操作和信息,以便进行分析和优化;用户知道自己所需的数据在哪个些客户端节点上,为此根据请求的数据位置使用贪心策略选择通信代价最小的客户端作为当前请求的客户端与集群做数据同步;该功能选择性能和地理位置不同的节点作为客户端,这更加真实的模拟了真实情况;
10、所述基于领导者轮询的lrpaxos算法是对paxos算法改进而提出;lrpaxos算法分为两个阶段,第一阶段领导者选举,第二阶段提案选举复制;该算法与传统的paxos算法的区别在于,第一阶段的领带者选举,不是随机选择领导者节点,而是根据节点的负载情况进行选择,算法基于领导者节点满负载后会影响系统的性能这一假设;
11、该算法在集群中引入一个控制节点,负责监测领导者节点的负载,并在节点达到满负载之前动态地更换领导者节点;
12、控制节点是一个额外引入的节点,不参与集群消息的传递和处理,只负责监测集群节点的状态,并根据领导者节点的负载情况,选择下一个工作负载低的节点作为领导者;控制节点通过心跳包的方式定时监测集群内所有节点的状态,故每10秒广播监控请求,防止频繁与节点通信;
13、当领导者节点出现失效的情况,控制节点会使用消息广播来避免传统paxos算法使用心跳机制出现的平票和高通信代价的本文档来自技高网...
【技术保护点】
1.一种基于LRPaxos算法的高可用分布式系统,其特征在于,具体由管理员模块和系统用户模块组成;
2.根据权利要求1所述的一种基于LRPaxos算法的高可用分布式系统,其特征在于,所述系统管理模块:负责系统的日志管理和系统参数管理,包括节点的加入、退出、故障检测和恢复;日志会记录一致性过程中的集群节点分组状态、领导者节点编号、集群间节点传递的网络RPC请求,当系统出现宕机崩溃时,通过回放日志进行状态回复,保证集群节点的数据有效性、一致性;系统参数管理记录系统运行中内存、CPU利用率、网络带宽利用率参数的数据,支持实时采样,并以数据表格的形式持久化在硬盘中。
3.根据权利要求1所述的一种基于LRPaxos算法的高可用分布式系统,其特征在于,所述结果记录模块:负责记录分布式系统的操作日志,包括数据的更新、查询、删除;该模块包括两个功能:标记结果功能,在系统完成客户端发送数据并对所有数据进行同步之后,以json格式记录每一个时间段下系统处理的消息条数、成功消息数、失败消息数、消息同步时延;上传结果功能是获得结果之后通过网络返回给系统,系统经过传输呈现给用户界面
4.根据权利要求1所述的一种基于LRPaxos算法的高可用分布式系统,其特征在于,所述一致性算法模块:负责保证分布式系统的数据一致性,即在不同的节点上,数据的状态是相同的;采用基于领导者轮询的LRPaxos算法,完成选举集群中的领导者任务;推选出一个合法的提案,并将该提案复制至所有节点,最后完成状态更新。
5.根据权利要求1所述的一种基于LRPaxos算法的高可用分布式系统,其特征在于,所述分布式集群选择模块:负责接收系统用户的配置参数,包括节点数量、节点IP通信地址、节点资源配置信息、客户端IP地址;将这些参数传递给系统管理模块,以便初始化分布式系统;包括以下两个功能:集群节点数量的设定,该功能设置了集群中节点的数量,也为集群节点具体参数设定定下了标准,用户通过了解节点的网络通信,就能通过链接控制集群节点配置分布式一致性环境,进而模拟分布式集群数据复制的情况。
6.根据权利要求1所述的一种基于LRPaxos算法的高可用分布式系统,其特征在于,所述客户端节点选择:负责展示分布式系统的运行状态,包括节点的状态、数据的分布、操作的执行;还负责记录系统用户的操作和信息,以便进行分析和优化;用户知道自己所需的数据在哪个些客户端节点上,为此根据请求的数据位置使用贪心策略选择通信代价最小的客户端作为当前请求的客户端与集群做数据同步;该功能选择性能和地理位置不同的节点作为客户端,这更加真实的模拟了真实情况。
7.根据权利要求4所述的一种基于LRPaxos算法的高可用分布式系统,其特征在于,所述基于领导者轮询的LRPaxos算法是对Paxos算法改进而提出;LRPaxos算法分为两个阶段,第一阶段领导者选举,第二阶段提案选举复制;该算法与传统的Paxos算法的区别在于,第一阶段的领带者选举,不是随机选择领导者节点,而是根据节点的负载情况进行选择,算法基于领导者节点满负载后会影响系统的性能这一假设;
8.一种基于LRPaxos算法的高可用分布式方法,基于上述权利要求1一种基于LRPaxos算法的高可用分布式系统实现,具体包括以下步骤:
...【技术特征摘要】
1.一种基于lrpaxos算法的高可用分布式系统,其特征在于,具体由管理员模块和系统用户模块组成;
2.根据权利要求1所述的一种基于lrpaxos算法的高可用分布式系统,其特征在于,所述系统管理模块:负责系统的日志管理和系统参数管理,包括节点的加入、退出、故障检测和恢复;日志会记录一致性过程中的集群节点分组状态、领导者节点编号、集群间节点传递的网络rpc请求,当系统出现宕机崩溃时,通过回放日志进行状态回复,保证集群节点的数据有效性、一致性;系统参数管理记录系统运行中内存、cpu利用率、网络带宽利用率参数的数据,支持实时采样,并以数据表格的形式持久化在硬盘中。
3.根据权利要求1所述的一种基于lrpaxos算法的高可用分布式系统,其特征在于,所述结果记录模块:负责记录分布式系统的操作日志,包括数据的更新、查询、删除;该模块包括两个功能:标记结果功能,在系统完成客户端发送数据并对所有数据进行同步之后,以json格式记录每一个时间段下系统处理的消息条数、成功消息数、失败消息数、消息同步时延;上传结果功能是获得结果之后通过网络返回给系统,系统经过传输呈现给用户界面。
4.根据权利要求1所述的一种基于lrpaxos算法的高可用分布式系统,其特征在于,所述一致性算法模块:负责保证分布式系统的数据一致性,即在不同的节点上,数据的状态是相同的;采用基于领导者轮询的lrpaxos算法,完成选举集群中的领导者任务;推选出一个合法的提案,并将该提案复制至所有节点,最后完成状态更新。
5.根据权利要求1所述的一种基于lrpaxos算法的高可用分布式系统,其...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。