基于Raft算法的分布式动态路由的实现方法及系统与流程

文档序号:15358430发布日期:2018-09-05 00:18阅读:267来源:国知局

本发明涉及云计算数据中心技术领域,具体地说是基于raft算法的分布式动态路由的实现方法及系统。



背景技术:

动态路由能够根据路由器之间交换的特定路由信息自动地建立自己的路由表,并且能够根据链路和节点的变化适时地进行自动调整。当网络中节点或节点间的链路发生故障,或存在其它可用路由时,动态路由可以自行选择最佳的可用路由并继续转发报文。

在分布式系统中,一致性问题是指对于一组服务器,给定一组操作,需要一个协议使得最后结果达成一致;即当某个服务器收到客户端的一组指令时,它必须与其它服务器交流以保证所有的服务器都是以同样的顺序收到同样的指令,这样所有的服务器会产生一致的结果。如专利201710062689.4,名称为“一种基于raft算法的区块共识机制”,本发明采用的技术方案为:包括步骤:将区块链的共识节点信息存储于区块链上,并将共识节点的初始状态置为跟随者;基于raft算法并结合区块高度选举初始领导者状态的共识节点,领导者状态的共识节点用于记录交易事件并生成新区块;领导者状态的共识节点任期结束时,将重新选举领导者状态的共识节点;由领导者状态共识节点选举的唯一性,使得每个区块都有最终一致性。而在云计算采用基于网络提供计算、存储等资源的服务模式,弹性是其核心特性之一。通过网络将资源建立一个资源池,对资源池进行统一管理和调度,根据用户的需要对资源进行弹性的按需分配,是一种基于现用现付的商业模式,这是云计算弹性最核心的思想。在一个后端服务需要横向伸展的时候,服务实例一般默认为动态ip,对于上层调用,需要动态获取服务域名和后端实例的映射关系,以提供面向上层的服务;上述发明采取的技术方案虽实现了每个区块的一致性,提高了系统的容错性,并且实现了共识节点动态加入退出,但是,仍无法解决分布式动态路云计算中弹性资源的动态调用问题,因此,如何解决动态横向伸展的后端服务与服务域名的映射关系成为云计算数据中心技术领域面临的重要问题。



技术实现要素:

本发明的技术任务是提供基于raft算法的分布式动态路由的实现方法及系统,来解决现有技术中的分布式动态路由云计算中弹性资源的动态调用问题。

本发明的技术任务是按以下方式实现的,

基于raft算法的分布式动态路由的实现方法,所述方法包括以下步骤:

(1)分布式动态路由采用分布式架构,由多个路由主机组成,路由主机的上层由负载均衡组件负责将访问流量平均分发到每个路由主机中的路由节点上;

(2)对外服务是通过平台提供的域名进行访问,域名服务器通过统一的域名后缀指向负载均衡组件;

(3)路由节点作为整个平台服务的流量入口,负责转发所有外部对云平台系统的访问请求,将访问流量分发给多个后端服务实例;

(4)路由主机的底层是存储节点,每个路由节点对应一个存储节点,多个存储节点组成分布式存储组件,负责存储每个域名和后端服务实例的映射关系;

(5)分布式存储组件之间通过raft算法保持所有存储节点数据的一致性,每个路由节点都只需从本地的存储节点读取映射数据;

(6)管理员通过管理节点维护每个域名和后端服务实例的映射关系,管理节点负责存储节点中映射数据的增删改操作。

步骤(2)中对外服务对用户提供访问服务,用户通过平台提供的域名发出访问请求,并将用户发出的访问请求提供给负载均衡组件。

步骤(4)中每个路由节点在接收到访问请求之后会从本地的存储节点获取域名对应的后端服务节点列表。

步骤(6)中增删改操作为管理员通过创建后端服务,管理节点接受服务注册信息,并向分布式存储组件中添加域名和后端服务的映射关系;

管理员通过注销后端服务实例,管理节点接受注销服务请求,并在分布式存储组件中删除域名和后端服务的映射关系。

基于raft算法的分布式动态路由系统,分布式动态路由采用分布式架构,该系统还包括:

负载均衡组件,负载均衡组件位于路由主机的上层,用于负责将访问流量平均分发到每个路由主机上;

对外服务单元,用于通过平台提供的域名进行访问,域名服务器通过统一的域名后缀指向负载均衡组件;

路由主机,路由主机包括路由节点单元和存储节点单元,

路由节点单元,用于作为整个平台服务的流量入口,负责转发所有外部对云平台系统的访问请求,将访问流量分发给多个后端服务单元;

存储节点单元,路由主机的底层是存储节点单元,每个路由节点单元对应一个存储节点单元,负责存储每个域名和后端服务实例的映射关系;

分布式存储组件,分布式存储组件由多个存储节点单元组成,分布式存储组件之间用于通过raft算法保持所有存储节点单元内数据的一致性,每个路由节点单元都只需从本地的存储节点单元内读取映射数据;

管理节点单元,管理员通过管理节点单元维护每个域名和后端服务单元的映射关系,管理节点单元用于负责存储节点中映射数据的增删改操作。

对外服务单元对用户提供访问服务,用户用于通过平台提供的域名发出访问请求,并将用户发出的访问请求提供给负载均衡组件。

用于接收访问请求的每个路由节点单元,将从本地的存储节点单元获取域名对应的后端服务单元节点列表。

管理员创建后端服务单元,管理节点单元接受服务注册信息,并向分布式存储组件中添加域名和后端服务单元的映射;

管理员通过注销后端服务单元,管理节点单元接受注销服务信息,并在分布式存储组件中删除域名和后端服务单元的映射。

本发明的基于raft算法的分布式动态路由的实现方法及系统较现有技术具有以下优点:

1、本发明提供的基于raft算法的分布式动态路由的实现方法及系统,实现了分布式架构的分布式动态路由,通过平台提供的域名提供对外服务,路由节点作为整个平台服务的流量入口,负责转发所有外部对云平台系统的访问请求,将访问流量分发给多个后端服务实例;

2、路由主机的底层是存储节点,每个路由节点对应一个存储节点,多个存储节点组成分布式存储组件,通过raft算法保持所有存储节点数据的一致性,每个路由节点只需从本地的存储节点读取映射数据,大大提高了代理速度,在保证可靠性的同时大大提高了运算效率,不仅解决了云计算中弹性资源的动态调用问题,而且实现了动态路由的分布式特性;

3、本发明提供的基于raft算法的分布式动态路由的实现方法及系统,具有使用便捷,可靠性高,实现了云计算中弹性资源的动态调用,因此,具有很好的推广使用价值。

附图说明

下面结合附图对本发明进一步说明。

附图1为基于raft算法的分布式动态路由的实现方法及系统的结构框图。

具体实施方式

参照说明书附图和具体实施例对本发明的基于raft算法的分布式动态路由的实现方法及系统作以下详细地说明。

实施例1:

本发明的基于raft算法的分布式动态路由的实现方法,所述方法包括以下步骤:

(1)分布式动态路由采用分布式架构,由3个路由主机组成,路由主机的上层由负载均衡组件负责将访问流量平均分发到每个路由主机中的路由节点上;

(2)对外服务是通过平台提供的域名进行访问,域名服务器通过统一的域名后缀指向负载均衡组件;

(3)路由节点作为整个平台服务的流量入口,负责转发所有外部对云平台系统的访问请求,将访问流量分发给6个后端服务实例;

(4)路由主机的底层是存储节点,每个路由节点对应一个存储节点,3个存储节点组成分布式存储组件,负责存储每个域名和后端服务实例的映射关系;

(5)分布式存储组件之间通过raft算法保持所有存储节点数据的一致性,每个路由节点都只需从本地的存储节点读取映射数据;

(6)管理员通过管理节点维护每个域名和后端服务实例的映射关系,管理节点负责存储节点中映射数据的增删改操作。

实施例2:

本发明的基于raft算法的分布式动态路由的实现方法,所述方法包括以下步骤:

(1)分布式动态路由采用分布式架构,由4个路由主机组成,路由主机的上层由负载均衡组件负责将访问流量平均分发到每个路由主机中的路由节点上;

(2)对外服务是通过平台提供的域名进行访问,域名服务器通过统一的域名后缀指向负载均衡组件;

(3)路由节点作为整个平台服务的流量入口,负责转发所有外部对云平台系统的访问请求,将访问流量分发给8个后端服务实例;

(4)路由主机的底层是存储节点,每个路由节点对应一个存储节点,4个存储节点组成分布式存储组件,负责存储每个域名和后端服务实例的映射关系;

(5)分布式存储组件之间通过raft算法保持所有存储节点数据的一致性,每个路由节点都只需从本地的存储节点读取映射数据;

(6)管理员通过管理节点维护每个域名和后端服务实例的映射关系,管理节点负责存储节点中映射数据的增删改操作。

在步骤(2)中,对外服务对用户提供访问服务,用户通过平台提供的域名发出访问请求,并将用户发出的访问请求提供给负载均衡组件。

实施例3:

本发明的基于raft算法的分布式动态路由的实现方法,所述方法包括以下步骤:

(1)分布式动态路由采用分布式架构,由5个路由主机组成,路由主机的上层由负载均衡组件负责将访问流量平均分发到每个路由主机中的路由节点上;

(2)对外服务是通过平台提供的域名进行访问,域名服务器通过统一的域名后缀指向负载均衡组件;

(3)路由节点作为整个平台服务的流量入口,负责转发所有外部对云平台系统的访问请求,将访问流量分发给10个后端服务实例;

(4)路由主机的底层是存储节点,每个路由节点对应一个存储节点,5个存储节点组成分布式存储组件,负责存储每个域名和后端服务实例的映射关系;

(5)分布式存储组件之间通过raft算法保持所有存储节点数据的一致性,每个路由节点都只需从本地的存储节点读取映射数据;

(6)管理员通过管理节点维护每个域名和后端服务实例的映射关系,管理节点负责存储节点中映射数据的增删改操作。

在步骤(2)中,对外服务对用户提供访问服务,用户通过平台提供的域名发出访问请求,并将用户发出的访问请求提供给负载均衡组件。

在步骤(4)中,每个路由节点在接收到访问请求之后会从本地的存储节点获取域名对应的后端服务节点列表。

实施例4:

本发明的基于raft算法的分布式动态路由的实现方法,所述方法包括以下步骤:

(1)分布式动态路由采用分布式架构,由6个路由主机组成,路由主机的上层由负载均衡组件负责将访问流量平均分发到每个路由主机中的路由节点上;

(2)对外服务是通过平台提供的域名进行访问,域名服务器通过统一的域名后缀指向负载均衡组件;

(3)路由节点作为整个平台服务的流量入口,负责转发所有外部对云平台系统的访问请求,将访问流量分发给12个后端服务实例;

(4)路由主机的底层是存储节点,每个路由节点对应一个存储节点,6个存储节点组成分布式存储组件,负责存储每个域名和后端服务实例的映射关系;

(5)分布式存储组件之间通过raft算法保持所有存储节点数据的一致性,每个路由节点都只需从本地的存储节点读取映射数据;

(6)管理员通过管理节点维护每个域名和后端服务实例的映射关系,管理节点负责存储节点中映射数据的增删改操作。

在步骤(2)中,对外服务对用户提供访问服务,用户通过平台提供的域名发出访问请求,并将用户发出的访问请求提供给负载均衡组件。

在步骤(4)中,每个路由节点在接收到访问请求之后会从本地的存储节点获取域名对应的后端服务节点列表。

在步骤(6)中,增删改操作为管理员通过创建后端服务,管理节点接受服务注册信息,并向分布式存储组件中添加域名和后端服务的映射关系;

管理员通过注销后端服务实例,管理节点接受注销服务请求,并在分布式存储组件中删除域名和后端服务的映射关系。

实施例5:

本发明的基于raft算法的分布式动态路由系统,分布式动态路由采用分布式架构,该系统还包括:

负载均衡组件,负载均衡组件位于路由主机的上层,用于负责将访问流量平均分发到每个路由主机上;

对外服务单元,用于通过平台提供的域名进行访问,域名服务器通过统一的域名后缀指向负载均衡组件;

路由主机,路由主机包括路由节点单元和存储节点单元,

路由节点单元,用于作为整个平台服务的流量入口,负责转发所有外部对云平台系统的访问请求,将访问流量分发给后端服务单元;

存储节点单元,路由主机的底层是存储节点单元,每个路由节点单元对应一个存储节点单元,负责存储每个域名和后端服务实例的映射关系;

分布式存储组件,分布式存储组件由存储节点单元组成,分布式存储组件之间用于通过raft算法保持所有存储节点单元内数据的一致性,每个路由节点单元都只需从本地的存储节点单元内读取映射数据;

管理节点单元,管理员通过管理节点单元维护每个域名和后端服务单元的映射关系,管理节点单元用于负责存储节点中映射数据的增删改操作。

实施例6:

本发明的基于raft算法的分布式动态路由系统,分布式动态路由采用分布式架构,该系统还包括:

负载均衡组件,负载均衡组件位于路由主机的上层,用于负责将访问流量平均分发到每个路由主机上;

对外服务单元,用于通过平台提供的域名进行访问,域名服务器通过统一的域名后缀指向负载均衡组件;

路由主机,路由主机包括路由节点单元和存储节点单元,

路由节点单元,用于作为整个平台服务的流量入口,负责转发所有外部对云平台系统的访问请求,将访问流量分发给后端服务单元;

存储节点单元,路由主机的底层是存储节点单元,每个路由节点单元对应一个存储节点单元,负责存储每个域名和后端服务实例的映射关系;

分布式存储组件,分布式存储组件由存储节点单元组成,分布式存储组件之间用于通过raft算法保持所有存储节点单元内数据的一致性,每个路由节点单元都只需从本地的存储节点单元内读取映射数据;

管理节点单元,管理员通过管理节点单元维护每个域名和后端服务单元的映射关系,管理节点单元用于负责存储节点中映射数据的增删改操作。

对外服务单元对用户提供访问服务,用户用于通过平台提供的域名发出访问请求,并将用户发出的访问请求提供给负载均衡组件。

用于接收访问请求的每个路由节点单元,将从本地的存储节点单元获取域名对应的后端服务单元节点列表。

管理员创建后端服务单元,管理节点单元接受服务注册信息,并向分布式存储组件中添加域名和后端服务单元的映射;

管理员通过注销后端服务单元,管理节点单元接受注销服务信息,并在分布式存储组件中删除域名和后端服务单元的映射。

通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的6种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

除说明书所述的技术特征外,均为本专业技术人员的已知技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1