一种基于Zookeeper实现的支持多种可自定义负载算法的负载均衡器实现方法技术

技术编号:22366821 阅读:42 留言:0更新日期:2019-10-23 05:34
本发明专利技术公开了一种基于Zookeeper实现的支持多种可自定义负载算法的负载均衡器实现方法,具体为:注册接口向Zookeeper服务器指定的节点下创建一个子节点;注册成功后,开启一个子线程来定时获取调用者的负载信息;获取负载最小节点的接口;根据内容信息,判断内容是否需要额外计算负载值,最后得到最小负载的服务节点,返回给调用者;调用者直接跟该节点进行交互,实现将最小负载的节点分配给调用者。本发明专利技术基于ZooKeeper实现的深度可定制的负载均衡器,支持多种类型的节点的集中式负载均衡管理,支持对不同节点使用不同负载算法,支持负载算法可自定义,计算负载支持多种部署模式,Zookeeper自身支持集群保障了负载均衡器的高可用高性能。

A load balancer implementation method based on zookeeper supporting multiple customizable load algorithms

【技术实现步骤摘要】
一种基于Zookeeper实现的支持多种可自定义负载算法的负载均衡器实现方法
本专利技术涉及计算机
,尤其涉及一种基于Zookeeper实现的支持多种可自定义负载算法的负载均衡器实现方法。
技术介绍
目前很多负载均衡器支持的节点类型比较单一,不能处理多种服务类型节点并存的情况。其次,很多负载均衡器可能提供了多种固定算法,但是选定算法后,所有接入的节点都按照这同一算法,不能针对不同节点指定不同的算法。再次,负载均衡器的算法都是内置的,对使用者都是透明的,但是却不支持用户自定义的方式,不能让用户根据自身需求来定义相关的最优算法。最后,目前都是在负载均衡器所在的机器上计算各个节点的负载,节点很多时,对机器的配置要求就比较高,不能设置将负载计算在客户端进行。负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡,英文名称为LoadBalance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。从软本文档来自技高网...

【技术保护点】
1.一种基于Zookeeper实现的支持多种可自定义负载算法的负载均衡器实现方法,其特征在于,具体方法如下:S1、调用ZookeeperClient注册接口向ZookeeperServer进行注册,ZookeeperServer会在指定的节点下创建一个子节点,表明注册成功;多个同类型的服务程序,都注册到同一个节点下,生成子节点列表;S2、注册成功后,ZookeeperClient开启一个子线程来定时获取注册者的负载信息的各项指标,决定是否在客户端来计算负载并上传;S3、调用者跟服务程序交互时,获取到最小负载的服务程序;即调用ZookeeperClient查询接口查询ZookeeperServe...

【技术特征摘要】
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中,调用注册接口时指定是否使用自定义的负载算法,使用哪种负载算法;不指定算法就使用所述默认值;指定算法编号,就读取本地配置文件中对应编号的各...

【专利技术属性】
技术研发人员:刘金亚张有成姚崎丁红许萍萍
申请(专利权)人:南京壹进制信息科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1