CN113746894A - 基于hdfs rbf路由层实现负载均衡方法、装置 - Google Patents

基于hdfs rbf路由层实现负载均衡方法、装置 Download PDF

Info

Publication number
CN113746894A
CN113746894A CN202110836160.XA CN202110836160A CN113746894A CN 113746894 A CN113746894 A CN 113746894A CN 202110836160 A CN202110836160 A CN 202110836160A CN 113746894 A CN113746894 A CN 113746894A
Authority
CN
China
Prior art keywords
routing
client
strategy
routing service
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110836160.XA
Other languages
English (en)
Inventor
潘利杰
常洪耀
秦正
尹明俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202110836160.XA priority Critical patent/CN113746894A/zh
Publication of CN113746894A publication Critical patent/CN113746894A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种基于HDFS RBF路由层实现负载均衡方法、装置,所述方法包括如下步骤:通过设置客户端配置项的值设置客户端路由选择策略;读取选择策略对应的值;根据读取的值调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端。路由选择策略包括主机负载策略、连接数策略、轮询访问策略;所述的主机负载策略,根据所有路由服务节点CPU利用率,选择CPU利用率值最小的路由服务节点的策略;连接数策略,根据当前路由服务节点的客户端连接数,选择连接数最少的路由服务节点的策略;轮询访问策略,客户端对所有路由服务节点排序并做序号标记,按照顺序轮询连接路由服务节点的策略。解决Router的负载均衡问题。

Description

基于HDFS RBF路由层实现负载均衡方法、装置
技术领域
本发明涉及分布式文件系统负载均衡技术领域,具体涉及一种基于HDFS RBF路由层实现负载均衡方法、装置。
背景技术
HDFS RBF:HDFS表示Hadoop分布式文件系统,指一套能够部署在廉价机器上并且可提供高度容错性的大型分布式文件存储系统。HDFS RBF全称为HDFS Router BasedFederation,是HDFS一种基于路由联邦模式的多集群技术和部署架构,主要由Router(路由服务)对多个集群进行路由转发。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构,Hadoop主要实现了一个分布式文件系统HDFS、分布式计算框架MapReduce和分布式资源调度管理框架YARN,其中HDFS有高容错性的特点,并且设计用来部署在低廉的硬件上;而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。可以以流的形式访问文件系统中的数据。事实上该系统实现的HDFS已被公众认为是大数据存储的标准。
随着HDFS规模化应用的深入,社区人员对其架构的逐步完善,一种基于路由联邦的新型架构设计逐步实现,解决了单一集群无法满足所有应用的场景。通过Router将多个集群通过联邦管理,同时对用户透明使用。现有技术中HDFS客户端可以设置Router为多个节点,但是在选择哪个Router作为服务路由没有较好的解决办法,当前在Router选择上只有默认随机方式,但是在高并发时候会出现某些Router节点负载较高,而某些Router节点负载较低的情况。
发明内容
现有技术中HDFS客户端可以设置Router为多个节点,但是在选择哪个Router作为服务路由没有较好的解决办法,当前在Router选择上只有默认随机方式,但是在高并发时候会出现某些Router节点负载较高,而某些Router节点负载较低的情况,针对上述Router接收到的请求不均衡的问题,本发明提供一种基于HDFS RBF路由层实现负载均衡方法、装置。
本发明的技术方案是:
一方面,本发明技术方案提供一种基于HDFS RBF路由层实现负载均衡方法,包括如下步骤:
通过设置客户端配置项的值设置客户端路由选择策略;
读取设置的路由选择策略的值;
根据读取的值调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端。
应用于HDFS RBF模式下的集群路由层服务,可通过配置不同客户端选择策略解决路由服务的负载均衡问题。
进一步的,所述的读取设置的路由选择策略的值的步骤包括:
根据设置的路由选择策略加载配置文件;
读取配置文件中选择策略对应的值。
进一步的,所述的根据读取的值调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端的步骤包括:
根据读取的值反射出路由选择策略对应的类,加载反射出的类中的初始化方法,初始化客户端路由对象;
客户端路由对象遍历本地配置项中所有已配置的路由服务地址,获取路由服务地址组成地址列表;
将客户端路由对象以及地址列表传递给路由服务;
根据客户端路由对象中的类调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端。
在java中根据读取的值反射出路由选择策略对应的类,加载反射出的类中的初始化方法执行选择的路由选择策略选择出一个路由服务地址。
进一步的,路由选择策略包括主机负载策略、连接数策略、轮询访问策略;
所述的主机负载策略,根据所有路由服务节点CPU利用率,选择CPU利用率值最小的路由服务节点的策略;
连接数策略,根据当前路由服务节点的客户端连接数,选择连接数最少的路由服务节点的策略;
轮询访问策略,客户端对所有路由服务节点排序并做序号标记,按照顺序轮询连接路由服务节点的策略。
配置不同客户端选择策略可解决路由服务的负载均衡问题。
进一步的,当步骤通过设置客户端配置项的值设置客户端路由选择策略中,设置的路由选择策略为主机负载策略时,所述的根据客户端路由对象中的类调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端的步骤包括:
获取所有路由服务节点的CPU利用率值;
对每个路由服务节点的CPU利用率值由小到大做排序处理;
取排序的索引最小值即CPU利用率值最小的路由服务地址返回给客户端。
进一步的,所述的获取所有路由服务节点的CPU利用率值的步骤包括:
获取每个路由服务节点的路由服务对象;
通过路由服务对象获取每个路由服务节点的监控信息;
在每个路由服务节点的监控信息中取CPU利用率值。
进一步的,当步骤通过设置客户端配置项的值设置客户端路由选择策略中,设置的路由选择策略为连接数策略时,所述的根据客户端路由对象中的类调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端的步骤包括:
获取每个路由服务节点的客户端连接数;
对路由服务节点的客户端连接数由小到大进行排序;
取排序的索引最小值即客户端连接数最小的路由服务地址返回给客户端。
进一步的,所述的获取每个路由服务节点的客户端连接数的步骤包括:
获取每个路由服务节点的路由服务对象;
通过路由服务对象获取每个路由服务节点的客户端连接数。
进一步的,当步骤通过设置客户端配置项的值设置客户端路由选择策略中,设置的路由选择策略为轮询访问策略时,所述的根据客户端路由对象中的类调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端的步骤包括:
缓存所有路由服务节点的索引信息列表;
查找上一次所连接的路由服务节点的索引信息;
判断所述索引信息是否存在;
若是,将该索引位置的下一个索引信息更新到客户端缓存中,同时将更新到客户端缓存的索引位置的路由服务地址返回给客户端;
若否,将索引信息列表中的第一个索引位置的路由服务地址返回给客户端。
进一步的,该方法还包括:
客户端接收到返回的路由服务地址后,连接到该路由服务地址。
HDFS RBF模式下多个子集群通过路由服务连接,路由服务实现了HDFS节点的客户端连接协议,每个子集群会有两个或多个路由服务,多个子集群通过一组路由服务通信联邦,对外形成一个基于路由服务的联邦集群。本方案中客户端连接集群通过随机方式访问服务路由然后通过服务路由代理连接集群。本发明中提出可配置的客户端选择服务路由的策略,实现了三种不同的选择策略,可解决路由服务的负载均衡问题。
另一方面,本发明技术方案还提供一种基于HDFS RBF路由层实现负载均衡装置,包括路由选择策略配置模块、策略读取模块、处理返回模块;
选择策略配置模块,用于通过设置客户端配置项的值设置客户端路由选择策略;
策略读取模块,用于读取设置的路由选择策略的值;
处理返回模块,用于根据读取的值调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端。
进一步的,策略读取模块包括加载单元、读取单元;
加载单元,用于根据设置的路由选择策略加载配置文件;
读取单元,用于读取配置文件中选择策略对应的值。
进一步的,该装置还包括路由对象生成模块、传递模块;
路由对象生成模块,用于根据读取的值反射出路由选择策略对应的类,加载反射出的类中的初始化方法,初始化客户端路由对象;客户端路由对象遍历本地配置项中所有已配置的路由服务地址,获取路由服务地址组成地址列表;
传递模块,用于将客户端路由对象以及地址列表传递给路由服务;
处理返回模块,具体用于根据客户端路由对象中的类调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端。
进一步的,路由选择策略包括主机负载策略、连接数策略、轮询访问策略;
所述的主机负载策略,根据所有路由服务节点CPU利用率,选择CPU利用率值最小的路由服务节点的策略;
连接数策略,根据当前路由服务节点的客户端连接数,选择连接数最少的路由服务节点的策略;
轮询访问策略,客户端对所有路由服务节点排序并做序号标记,按照顺序轮询连接路由服务节点的策略。
进一步的,当选择策略配置模块设置的路由选择策略为主机负载策略时,处理返回模块包括负载值获取单元、处理单元、返回单元;
负载值获取单元,用于获取所有路由服务节点的CPU利用率值;
处理单元,用于对每个路由服务节点的CPU利用率值由小到大做排序处理;
返回单元,用于取排序的索引最小值即CPU利用率值最小的路由服务地址返回给客户端。
进一步的,负载值获取单元,具体用于获取每个路由服务节点的路由服务对象;通过路由服务对象获取每个路由服务节点的监控信息,在每个路由服务节点的监控信息中取CPU利用率值。
进一步的,当选择策略配置模块设置的路由选择策略为连接数策略时,处理返回模块还包括连接数获取单元;
连接数获取单元,用于获取每个路由服务节点的客户端连接数;
处理单元,用于将获取到路由服务节点的客户端连接数由小到大进行排序;
返回单元,用于取排序的索引最小值即客户端连接数最小的路由服务地址返回给客户端。
进一步的,所述连接数获取单元,具体用于获取每个路由服务节点的路由服务对象,通过路由服务对象获取每个路由服务节点的客户端连接数。
进一步的,当选择策略配置模块设置的路由选择策略为轮询访问策略时,该装置还包括执行模块,用于将所有路由服务节点的索引信息列表缓存到客户端缓存中;
处理返回模块还包括查找判断单元和更新单元;
查找判断单元,用于查找上一次所连接的路由服务节点的索引信息,判断所述索引信息是否存在;
更新单元,用于若查找判断单元判断索引信息存在,将该索引信息所在索引位置的下一个索引信息更新到客户端缓存中,同时返回单元将更新到客户端缓存的索引位置的路由服务地址返回给客户端;
返回单元,还用于若查找判断单元判断索引信息不存在时,将索引信息列表中的第一个索引位置的路由服务地址返回给客户端。
从以上技术方案可以看出,本发明具有以下优点:本发明的负载均衡方法包括主机负载策略、Router连接数策略和轮询访问策略。本发明中的方法主要应用于HDFS RBF模式下的集群路由层服务,可通过配置不同客户端选择策略解决Router的负载均衡问题。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明另一个实施例的方法的示意性流程图。
图3是本发明一个实施例的选择策略的示意性流程图。
图4是本发明实施例提供的装置的示意性框图。
图中,11-路由选择策略配置模块,22-策略读取模块,33-路由对象生成模块,44-传递模块,55-处理返回模块,501-负载值获取单元,502-连接数获取单元,503-查找判断单元,504-更新单元,505-处理单元,506-返回单元。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
HDFS RBF:HDFS表示Hadoop分布式文件系统,指一套能够部署在廉价机器上并且可提供高度容错性的大型分布式文件存储系统。HDFS RBF全称为HDFS Router BasedFederation,是HDFS一种基于路由联邦模式的多集群技术和部署架构,主要由Router服务对多个集群进行路由转发。
Router:即HDFS将多集群联邦的路由服务,在HDFS RBF架构中客户端(client)连接路由服务,然后Router(路由服务)将客户端的请求转发到相应的子集群。Router暴露一个简单、全局的与NameNode相同的接口,基于State Store存储的信息转发客户端请求到正确子集群上活跃的NameNode。
Router选择策略:在实际使用中,client连接多个Router,但是最终必须选择其中一个Router作为真正服务的Router,本专利中的Router选择策略即主要发明点,即通过设置一种负载均衡策略选择Router,减轻Router压力。
RouterClient对象:在Java中是一个类,该类用来读取配置文件和反射出路由选择策略对应的类,可以加载反射类中的初始化方法,还能初始化RouterClient对象,形成客户端路由对象,该专利中RouterClient对象同客户端路由对象。
如图1所示,本发明实施例提供一种基于HDFS RBF路由层实现负载均衡方法,包括如下步骤:
步骤11:通过设置客户端配置项的值设置客户端路由选择策略;
步骤12:读取设置的路由选择策略的值;
步骤13:根据读取的值调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端。
应用于HDFS RBF模式下的集群路由层服务,可通过配置不同客户端选择策略解决路由服务的负载均衡问题。
如图2所示,在有些实施例中,步骤12中,所述的读取设置的路由选择策略的值的步骤包括:
步骤121:根据设置的路由选择策略加载配置文件;
步骤122:读取配置文件中选择策略对应的值。
步骤13中,所述的根据读取的值调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端的步骤包括:
步骤131:根据读取的值反射出路由选择策略对应的类,加载反射出的类中的初始化方法,初始化客户端路由对象;
步骤132:客户端路由对象遍历本地配置项中所有已配置的路由服务地址,获取路由服务地址组成地址列表;
步骤133:将客户端路由对象以及地址列表传递给路由服务;
步骤134:根据客户端路由对象中的类调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端。
在java中根据读取的值反射出路由选择策略对应的类,加载反射出的类中的初始化方法执行选择的路由选择策略选择出一个路由服务地址。
需要说明的是,路由选择策略包括主机负载策略、连接数策略、轮询访问策略;
所述的主机负载策略,根据所有路由服务节点CPU利用率,选择CPU利用率值最小的路由服务节点的策略;
连接数策略,根据当前路由服务节点的客户端连接数,选择连接数最少的路由服务节点的策略;
轮询访问策略,客户端对所有路由服务节点排序并做序号标记,按照顺序轮询连接路由服务节点的策略。
配置不同客户端选择策略可解决路由服务的负载均衡问题。
如图3所示,在有些实施例中,当步骤通过设置客户端配置项的值设置客户端路由选择策略中,设置的路由选择策略为主机负载策略时,步骤134中,根据客户端路由对象中的类调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端的步骤包括:
步骤151:获取每个路由服务节点的路由服务对象;
步骤152:通过路由服务对象获取每个路由服务节点的监控信息;
步骤153:在每个路由服务节点的监控信息中取CPU利用率值;
步骤154:对每个路由服务节点的CPU利用率值由小到大做排序处理;
步骤155:取排序的索引最小值即CPU利用率值最小的路由服务地址返回给客户端。
在有些实施例中,当步骤通过设置客户端配置项的值设置客户端路由选择策略中,设置的路由选择策略为连接数策略时,步骤134中,根据客户端路由对象中的类调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端的步骤包括:
步骤251:获取每个路由服务节点的路由服务对象;
步骤252:通过路由服务对象获取每个路由服务节点的客户端连接数;
步骤253:对路由服务节点的客户端连接数由小到大进行排序;
步骤254:取排序的索引最小值即客户端连接数最小的路由服务地址返回给客户端。
在有些实施例中,当步骤通过设置客户端配置项的值设置客户端路由选择策略中,设置的路由选择策略为轮询访问策略时,步骤134中,根据客户端路由对象中的类调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端的步骤包括:
步骤351:缓存所有路由服务节点的索引信息列表;
步骤352:查找上一次所连接的路由服务节点的索引信息;
步骤353:判断所述索引信息是否存在;若是,执行步骤354;否则,执行步骤355;
步骤354:将该索引位置的下一个索引信息更新到客户端缓存中,同时将更新到客户端缓存的索引位置的路由服务地址返回给客户端;
步骤355:将索引信息列表中的第一个索引位置的路由服务地址返回给客户端。
需要说明的是,该方法还包括:
步骤14:客户端接收到返回的路由服务地址后,连接到该路由服务地址。
HDFS RBF模式下多个子集群通过路由服务连接,路由服务实现了HDFS节点的客户端连接协议,每个子集群会有两个或多个路由服务,多个子集群通过一组路由服务通信联邦,对外形成一个基于路由服务的联邦集群。本方案中客户端连接集群通过随机方式访问服务路由然后通过服务路由代理连接集群。本发明中提出可配置的客户端选择服务路由的策略,实现了三种不同的选择策略,可解决路由服务的负载均衡问题。
本发明中的方法主要应用于HDFS RBF模式下的集群路由层服务,可通过配置不同client选择策略解决Router的负载均衡问题,具体实施过程如下:
(1)首先用户根据集群情况设置client的路由选择策略,例如:client配置项为dfs.client.router.choose.order,该项可配置的value值可根据不同路由策略设置如下:
org.apache.hadoop.hdfs.server.router.RouterHostCPURatio为主机负载策略;
rg.apache.hadoop.hdfs.server.router.RouterClientConnectionNum为Router连接数策略;
org.apache.hadoop.hdfs.server.router.RouterPollingOrder为轮询访问策略;
(2)根据步骤(1)确定的路由选择策略,在client配置文件hdfs-rbf-site.xml中配置:
dfs.client.router.choose.order=org.apache.hadoop.hdfs.server.router.RouterHostCPURatio、dfs.client.router.choose.order=org.apache.hadoop.hdfs.server.router.RouterClientConnectionNum或dfs.client.router.choose.order=org.apache.hadoop.hdfs.server.router.RouterPollingOrder。client端在连接Router初始化过程会加载hdfs-rbf-site.xml文件;
(3)初始化前读取dfs.client.router.choose.order的配置策略所对应的值;
(4)读取值之后根据值反射出路由选择策略对应的类,加载反射类中的初始化方法,初始化RouterClient对象;本步骤中是在Java内部实现,通过设置的值反射出对应的策略方法。
(5)RouterClient对象生成之后,该对象将本地配置中dfs.namenode.rpc-address.ns-fed下所有Router地址遍历获取Router地址组成Java中地址列表;
(6)RouterClient对象调用选择Router方法,该方法通过步骤(4)生成的RouterClient对象,同时把步骤(5)获取到的Java List对象(地址列表)传递给Router;
(7)对应Router选择策略中的Router选择方法开始执行选择的选择策略,选择出一个Router地址,给后续步骤使用;
(8)使用步骤(7)中的Router地址,新创建client对象,供后续开源Hadoop代码逻辑流程使用;
其中,主机负载策略:
首先client端能够连接所有Router节点,连接到Router节点之后能获取到每个Router对象,通过Router对象获取每个Router节点的监控信息,在每个Router节点监控信息中取cpu利用率值,然后对每个Router所获取到的cpu利用率值由小到大做排序处理,取Router排序的索引最小值即cpu利用率最小的Router地址返回给client端,然后client端连接该地址。
连接数策略:
首先client端能够连接所有Router节点,连接到Router节点之后能获取到每个Router对象,通过Router对象获取每个Router的client连接数,将获取到Router的client连接数由小到大进行排序,取Router排序的索引最小值即连接数值最小的Router地址返回给client端,然后client端连接该地址。
轮询访问策略:
首先client端能够连接所有Router节点,client缓存所有Router索引信息列表,client查找上次所连接的Router索引信息,判断上次所连接的索引信息是否存在,如果存在索引信息,则将该索引位置的下一个索引(next)更新到client缓存中,同时将该索引位置的Router地址返回给client端,然后client端连接该地址。如果上次所连接的索引信息不存在,则将Router索引信息列表中的第一个位置索引返回给client端,然后client端连接该地址。
如图4所示,本发明实施例还提供一种基于HDFS RBF路由层实现负载均衡装置,包括路由选择策略配置模块11、策略读取模块22、处理返回模块55;
选择策略配置模块11,用于通过设置客户端配置项的值设置客户端路由选择策略;
策略读取模块22,用于读取设置的路由选择策略的值;
处理返回模块55,用于根据读取的值调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端。
需要说明的是,策略读取模块22还包括加载单元、读取单元;
加载单元,用于根据设置的路由选择策略加载配置文件;
读取单元,用于读取配置文件中选择策略对应的值。
在有些实施例中,该装置还包括路由对象生成模块33、传递模块44;
路由对象生成模块33,用于根据读取的值反射出路由选择策略对应的类,加载反射出的类中的初始化方法,初始化客户端路由对象;客户端路由对象遍历本地配置项中所有已配置的路由服务地址,获取路由服务地址组成地址列表;
传递模块44,用于将客户端路由对象以及地址列表传递给路由服务;
处理返回模块55,具体用于根据客户端路由对象中的类调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端。
需要说明的是,路由选择策略包括主机负载策略、连接数策略、轮询访问策略;
所述的主机负载策略,根据所有路由服务节点CPU利用率,选择CPU利用率值最小的路由服务节点的策略;
连接数策略,根据当前路由服务节点的客户端连接数,选择连接数最少的路由服务节点的策略;
轮询访问策略,客户端对所有路由服务节点排序并做序号标记,按照顺序轮询连接路由服务节点的策略。
在有些实施例中,当选择策略配置模块设置的路由选择策略为主机负载策略时,处理返回模块55包括负载值获取单元501、处理单元505、返回单元506;
负载值获取单元501,用于获取所有路由服务节点的CPU利用率值;具体用于获取每个路由服务节点的路由服务对象;通过路由服务对象获取每个路由服务节点的监控信息,在每个路由服务节点的监控信息中取CPU利用率值。
处理单元505,用于对每个路由服务节点的CPU利用率值由小到大做排序处理;
返回单元506,用于取排序的索引最小值即CPU利用率值最小的路由服务地址返回给客户端。
在有些实施例中,当选择策略配置模块设置的路由选择策略为连接数策略时,处理返回模块55还包括连接数获取单元502;
连接数获取单元502,用于获取每个路由服务节点的客户端连接数;具体用于获取每个路由服务节点的路由服务对象,通过路由服务对象获取每个路由服务节点的客户端连接数。
处理单元505,用于将获取到路由服务节点的客户端连接数由小到大进行排序;
返回单元506,用于取排序的索引最小值即客户端连接数最小的路由服务地址返回给客户端。
在有些实施例中,当选择策略配置模块设置的路由选择策略为轮询访问策略时,该装置还包括执行模块,用于将所有路由服务节点的索引信息列表缓存到客户端缓存中;
处理返回模块55还包括查找判断单元503和更新单元504;
查找判断单元503,用于查找上一次所连接的路由服务节点的索引信息,判断所述索引信息是否存在;
更新单元504,用于若查找判断单元判断索引信息存在,将该索引信息所在索引位置的下一个索引信息更新到客户端缓存中,同时返回单元将更新到客户端缓存的索引位置的路由服务地址返回给客户端;
返回单元506,还用于若查找判断单元判断索引信息不存在时,将索引信息列表中的第一个索引位置的路由服务地址返回给客户端。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种基于HDFS RBF路由层实现负载均衡方法,其特征在于,包括如下步骤:
通过设置客户端配置项的值设置客户端路由选择策略;
读取设置的路由选择策略的值;
根据读取的值调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端。
2.根据权利要求1所述的基于HDFS RBF路由层实现负载均衡方法,其特征在于,所述的读取设置的路由选择策略的值的步骤包括:
根据设置的路由选择策略加载配置文件;
读取配置文件中选择策略对应的值。
3.根据权利要求2所述的基于HDFS RBF路由层实现负载均衡方法,其特征在于,所述的根据读取的值调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端的步骤包括:
根据读取的值反射出路由选择策略对应的类,加载反射出的类中的初始化方法,初始化客户端路由对象;
客户端路由对象遍历本地配置项中所有已配置的路由服务地址,获取路由服务地址组成地址列表;
将客户端路由对象以及地址列表传递给路由服务;
根据客户端路由对象中的类调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端。
4.根据权利要求3所述的基于HDFS RBF路由层实现负载均衡方法,其特征在于,路由选择策略包括主机负载策略、连接数策略、轮询访问策略;
所述的主机负载策略,根据所有路由服务节点CPU利用率,选择CPU利用率值最小的路由服务节点的策略;
连接数策略,根据当前路由服务节点的客户端连接数,选择连接数最少的路由服务节点的策略;
轮询访问策略,客户端对所有路由服务节点排序并做序号标记,按照顺序轮询连接路由服务节点的策略。
5.根据权利要求4所述的基于HDFS RBF路由层实现负载均衡方法,其特征在于,当步骤通过设置客户端配置项的值设置客户端路由选择策略中,设置的路由选择策略为主机负载策略时,所述的根据客户端路由对象中的类调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端的步骤包括:
获取所有路由服务节点的CPU利用率值;
对每个路由服务节点的CPU利用率值由小到大做排序处理;
取排序的索引最小值即CPU利用率值最小的路由服务地址返回给客户端。
6.根据权利要求5所述的基于HDFS RBF路由层实现负载均衡方法,其特征在于,所述的获取所有路由服务节点的CPU利用率值的步骤包括:
获取每个路由服务节点的路由服务对象;
通过路由服务对象获取每个路由服务节点的监控信息;
在每个路由服务节点的监控信息中取CPU利用率值。
7.根据权利要求4所述的基于HDFS RBF路由层实现负载均衡方法,其特征在于,当步骤通过设置客户端配置项的值设置客户端路由选择策略中,设置的路由选择策略为连接数策略时,所述的根据客户端路由对象中的类调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端的步骤包括:
获取每个路由服务节点的客户端连接数;
对路由服务节点的客户端连接数由小到大进行排序;
取排序的索引最小值即客户端连接数最小的路由服务地址返回给客户端。
8.根据权利要求7所述的基于HDFS RBF路由层实现负载均衡方法,其特征在于,所述的获取每个路由服务节点的客户端连接数的步骤包括:
获取每个路由服务节点的路由服务对象;
通过路由服务对象获取每个路由服务节点的客户端连接数。
9.根据权利要求4所述的基于HDFS RBF路由层实现负载均衡方法,其特征在于,当步骤通过设置客户端配置项的值设置客户端路由选择策略中,设置的路由选择策略为轮询访问策略时,所述的根据客户端路由对象中的类调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端的步骤包括:
缓存所有路由服务节点的索引信息列表;
查找上一次所连接的路由服务节点的索引信息;
判断所述索引信息是否存在;
若是,将该索引位置的下一个索引信息更新到客户端缓存中,同时将更新到客户端缓存的索引位置的路由服务地址返回给客户端;
若否,将索引信息列表中的第一个索引位置的路由服务地址返回给客户端。
10.一种基于HDFS RBF路由层实现负载均衡装置,其特征在于,包括路由选择策略配置模块、策略读取模块、处理返回模块;
选择策略配置模块,用于通过设置客户端配置项的值设置客户端路由选择策略;
策略读取模块,用于读取设置的路由选择策略的值;
处理返回模块,用于根据读取的值调用路由选择策略对应的选择方法选择一个路由服务地址返回给客户端。
CN202110836160.XA 2021-07-23 2021-07-23 基于hdfs rbf路由层实现负载均衡方法、装置 Pending CN113746894A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110836160.XA CN113746894A (zh) 2021-07-23 2021-07-23 基于hdfs rbf路由层实现负载均衡方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110836160.XA CN113746894A (zh) 2021-07-23 2021-07-23 基于hdfs rbf路由层实现负载均衡方法、装置

Publications (1)

Publication Number Publication Date
CN113746894A true CN113746894A (zh) 2021-12-03

Family

ID=78729122

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110836160.XA Pending CN113746894A (zh) 2021-07-23 2021-07-23 基于hdfs rbf路由层实现负载均衡方法、装置

Country Status (1)

Country Link
CN (1) CN113746894A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117221323A (zh) * 2023-11-09 2023-12-12 北京飞渡科技股份有限公司 服务动态转发方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012000455A1 (zh) * 2010-07-02 2012-01-05 腾讯科技(深圳)有限公司 一种客户端及负载均衡的方法
CN105472025A (zh) * 2015-12-28 2016-04-06 曙光信息产业(北京)有限公司 用于dns的负载均衡方法和装置
CN109451090A (zh) * 2018-11-13 2019-03-08 郑州云海信息技术有限公司 一种域名解析方法及装置
CN109639796A (zh) * 2018-12-11 2019-04-16 浪潮电子信息产业股份有限公司 一种负载均衡实现方法、装置、设备及可读存储介质
CN112463303A (zh) * 2020-12-01 2021-03-09 中国工商银行股份有限公司 Java虚拟机类加载方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012000455A1 (zh) * 2010-07-02 2012-01-05 腾讯科技(深圳)有限公司 一种客户端及负载均衡的方法
CN105472025A (zh) * 2015-12-28 2016-04-06 曙光信息产业(北京)有限公司 用于dns的负载均衡方法和装置
CN109451090A (zh) * 2018-11-13 2019-03-08 郑州云海信息技术有限公司 一种域名解析方法及装置
CN109639796A (zh) * 2018-12-11 2019-04-16 浪潮电子信息产业股份有限公司 一种负载均衡实现方法、装置、设备及可读存储介质
CN112463303A (zh) * 2020-12-01 2021-03-09 中国工商银行股份有限公司 Java虚拟机类加载方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117221323A (zh) * 2023-11-09 2023-12-12 北京飞渡科技股份有限公司 服务动态转发方法
CN117221323B (zh) * 2023-11-09 2024-02-02 北京飞渡科技股份有限公司 服务动态转发方法

Similar Documents

Publication Publication Date Title
JP7270755B2 (ja) 分散システムでのメタデータルーティング
CN104011701A (zh) 内容传送网络
CN103607424B (zh) 一种服务器连接方法及服务器系统
CN106991008B (zh) 一种资源锁管理方法、相关设备及系统
CN108833462A (zh) 一种面向微服务的自注册服务发现的系统及方法
CN111352716B (zh) 一种基于大数据的任务请求方法、装置、系统及存储介质
CN109783151B (zh) 规则变更的方法和装置
US9390156B2 (en) Distributed directory environment using clustered LDAP servers
CN113596176A (zh) 物联网中心节点的自选方法、装置、物联网设备和系统
CN112799839B (zh) 请求处理方法、装置、计算机可读存储介质及电子设备
CN111858033A (zh) 基于集群和多进程的负载均衡方法
US20070192431A1 (en) Method and apparatus for service oriented architecture infrastructure switch
CN113746894A (zh) 基于hdfs rbf路由层实现负载均衡方法、装置
US11108854B2 (en) Peer-to-peer network for internet of things resource allocation operation
CN114911602A (zh) 一种服务器集群的负载均衡方法、装置、设备和存储介质
Abe et al. Suzaku: a churn resilient and lookup-efficient key-order preserving structured overlay network
US10904327B2 (en) Method, electronic device and computer program product for searching for node
US20240176762A1 (en) Geographically dispersed hybrid cloud cluster
CN113973135A (zh) 数据缓存处理方法、装置、缓存网格平台和存储介质
CN113542373A (zh) 用于paas平台的路由服务发现装置及方法
Vetoshkin et al. Towards the fog computing PaaS solution
Caron et al. Implementation and evaluation of a P2P service discovery system: Application in a dynamic large scale computing infrastructure
US8583596B2 (en) Multi-master referential integrity
CN117057799B (zh) 资产数据处理方法、装置、设备及存储介质
Sun et al. RS-pCloud: a peer-to-peer based edge-cloud system for fast remote sensing image processing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20211203

RJ01 Rejection of invention patent application after publication