[发明专利]一种基于Zookeeper实现的支持多种可自定义负载算法的负载均衡器实现方法有效
| 申请号: | 201910543150.X | 申请日: | 2019-06-21 |
| 公开(公告)号: | CN110365743B | 公开(公告)日: | 2021-11-12 |
| 发明(设计)人: | 刘金亚;张有成;姚崎;丁红;许萍萍 | 申请(专利权)人: | 南京壹进制信息科技有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/24 |
| 代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 母秋松 |
| 地址: | 210014 江苏省南京市秦*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 zookeeper 实现 支持 多种 自定义 负载 算法 均衡器 方法 | ||
1.一种基于Zookeeper实现的支持多种可自定义负载算法的负载均衡器实现方法,其特征在于,具体方法如下:
S1、调用ZookeeperClient注册接口向ZookeeperServer进行注册,ZookeeperServer会在指定的节点下创建一个子节点,表明注册成功;多个同类型的服务程序,都注册到同一个节点下,生成子节点列表;
S2、注册成功后,ZookeeperClient开启一个子线程来定时获取注册者的负载信息的各项指标,决定是否在客户端来计算负载并上传;
S3、调用者跟服务程序交互时,获取到最小负载的服务程序;即调用ZookeeperClient查询接口查询ZookeeperServer节点,获取步骤S1中所述子节点列表,遍历子节点列表,获取每个节点在S2中上传的负载信息各项指标和权重或者负载值;
S4、ZookeeperServer根据内容信息,对还未计算负载值的节点进行计算,最后得到所有子节点的负载值,比较子节点列表的负载值,获取负载值最小的节点,该节点对应的注册者就是负载最小的,将该节点的连接信息返回给调用者;
S5、调用者获得连接信息后,直接跟该节点对应的注册者进行连接交互,从而实现将最小负载的节点分配给调用者。
2.如权利要求1所述的一种基于Zookeeper实现的支持多种可自定义负载算法的负载均衡器实现方法,其特征在于:步骤S2中,需要定义好各项负载信息指标参数的权重值,该权重值是ZookeeperClient内部的默认值,作为默认算法,或者自定义各项指标的权重值写在配置文件中,对各项负载参数指标设置权重值,权重值为0表示忽略该指标;定义多组权重值,然后编号,即定义了多组权重值算法。
3.如权利要求2所述的一种基于Zookeeper实现的支持多种可自定义负载算法的负载均衡器实现方法,其特征在于:步骤S1中,调用注册接口时指定是否使用自定义的负载算法,使用哪种负载算法;不指定算法就使用所述默认值;指定算法编号,就读取本地配置文件中对应编号的各项参数权重值,用来计算负载值。
4.如权利要求3所述的一种基于Zookeeper实现的支持多种可自定义负载算法的负载均衡器实现方法,其特征在于,步骤S2注册成功后,开启一个子线程来定时获取注册者的负载信息,根据配置来决定是否计算并上传,其中根据配置来决定是否计算并上传具体为:1、获取本地负载信息;2、检测负载信息是否有意向达到阈值,如果有,则直接将负载信息和权重值上传,交给ZookeeperServer来进行计算,而不是由ZookeeperClient计算。
5.如权利要求1所述的一种基于Zookeeper实现的支持多种可自定义负载算法的负载均衡器实现方法,其特征在于,步骤S2中,所述负载信息的各项指标包括cpu、内存、磁盘io。
6.如权利要求5所述的一种基于Zookeeper实现的支持多种可自定义负载算法的负载均衡器实现方法,其特征在于,所述负载的计算方法如下:预设cpu使用率15%,权重值为40;内存使用率40%,权重值为30;磁盘io使用率30%,权重值为20;那么总体负载值= 0.15*40 +0.4*30 + 0.3*20 = 24;预设客户端内存使用率达到90%,就不适合在客户端计算,那么直接将负载信息的各项指标和权重值上传到ZookeeperServer上对应的注册节点下,作为该节点的内容;否则在客户端计算负载值,再将负载值上传到ZookeeperServer上对应的注册节点下,作为该节点的内容。
7.如权利要求1或2所述的一种基于Zookeeper实现的支持多种可自定义负载算法的负载均衡器实现方法,其特征在于:对配置文件中各组负载参数的权重值进行编号时,ZookeeperClient只需要根据编号,去读取配置文件中的指定编号的权重值,通过权重算法来对负载信息处理得到负载值。
8.如权利要求1所述的一种基于Zookeeper实现的支持多种可自定义负载算法的负载均衡器实现方法,其特征在于: Zookeeper服务器自身搭建集群,来确保整个负载均衡器的高性能高可用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京壹进制信息科技有限公司,未经南京壹进制信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910543150.X/1.html,转载请声明来源钻瓜专利网。





