CN110602254B - 一种实现负载均衡的方法、装置及系统 - Google Patents

一种实现负载均衡的方法、装置及系统 Download PDF

Info

Publication number
CN110602254B
CN110602254B CN201910949305.XA CN201910949305A CN110602254B CN 110602254 B CN110602254 B CN 110602254B CN 201910949305 A CN201910949305 A CN 201910949305A CN 110602254 B CN110602254 B CN 110602254B
Authority
CN
China
Prior art keywords
load
service
information
end server
target
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.)
Active
Application number
CN201910949305.XA
Other languages
English (en)
Other versions
CN110602254A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910949305.XA priority Critical patent/CN110602254B/zh
Publication of CN110602254A publication Critical patent/CN110602254A/zh
Application granted granted Critical
Publication of CN110602254B publication Critical patent/CN110602254B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种实现负载均衡的方法、装置及系统,所述方法包括基于服务标识确定目标负载均衡器;从目标负载均衡器中获取后端服务器集群的负载信息;基于业务程序所调用的接口和所述负载信息,对后台服务器集群进行负载均衡。本发明由于采取代理进程和业务程序直接访问后端服务器的方法,绕开负载均衡监听器,可以降低访问时延,实现了对多个云服务产商的负载均衡器进行适配,不需要花费大量的人力物力进行业务程序的代码的修改。

Description

一种实现负载均衡的方法、装置及系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种实现负载均衡的方法、装置及系统。
背景技术
在云计算普及的当下,越来越多企业计划或已开始采用云架构来部署企业的业务,然而将传统的数据中心的应用负载迁移到云端上,如此会增加云架构的负载均衡需求。
现有技术中应用于云端的负载均衡主要为:采用域名/虚拟服务地址(VirtualIP,VIP)的方式,即业务程序先通过域名获取虚拟服务地址,然后通过该虚拟服务地址访问后端服务器。这种使用域名/VIP的方式,每次访问后端服务器的时候,都需要经过负载均衡监听器(LBL),每一个请求和应答都增加了访问时延。此外,这种方式还存在若两个模块部署在同一台机器中,本机的机器无法使用VIP进行通信,这给机器复用造成困难。
此外,在互联网服务出海的过程中,由于合作方等原因,难免会在不同地区使用不同的云服务产商,如在香港使用腾讯云、在北美使用亚马逊、在南美使用谷歌云等。若将业务程序从一个云服务产商迁移到另外一个云服务产商,由于不同的云服务产商的负载均衡服务器的接口存在差异,在进行负载均衡时需要调用不同的负载均衡服务器的接口,此时业务程序中代码都需要重新修改,费时费力。
发明内容
本发明提供了一种实现负载均衡的方法、装置及系统,以解决以上至少一种技术问题。
一方面,本发明提供了一种实现负载均衡的方法,包括:
接收对部署于云平台中业务程序的服务请求,确定所述服务请求对应的服务标识;
基于所述服务标识确定目标负载均衡器;
利用部署安装的代理进程,从所述目标负载均衡器中获取后端服务器集群的负载信息;所述代理进程与所述业务程序部署在同一机器上;
基于所述业务程序所调用的接口和所述负载信息,对所述后台服务器集群进行负载均衡。
另一方面还提供一种实现负载均衡的装置,包括:
第一确定模块,用于接收对部署于云平台中业务程序的服务请求,确定所述服务请求对应的服务标识;
第二确定模块,用于基于所述服务标识确定目标负载均衡器;
获取模块,用于利用部署安装的代理进程,从所述目标负载均衡器中获取后端服务器集群的负载信息;所述代理进程与所述业务程序部署在同一机器上;
负载均衡模块,用于基于所述业务程序所调用的接口和所述负载信息,对所述后台服务器集群进行负载均衡。
另一方面还提供一种实现负载均衡的设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述任一所述的实现负载均衡的方法。
另一方面还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行如上述任一所述的实现负载均衡的方法。
另一方面还提供一种实现负载均衡的系统,包括数据中心、配置中心、实现负载均衡的装置和负载均衡器集群;所述实现负载均衡的装置包括部署安装的代理进程和业务应用;所述代理进程与所述业务程序部署在同一机器上;
所述数据中心用于配置服务标识并建立服务标识和负载均衡器的配置数据的映射关系;
所述配置中心用于将数据中心所建立的映射关系发送给所述代理进程;
所述业务应用接收对部署于云平台中业务程序的服务请求,确定所述服务请求对应的服务标识;
所述代理进程基于所述映射关系,确定所述服务标识对应的目标负载均衡器;
所述负载均衡器集群中的目标负载均衡器获取后端服务器集群的负载信息;
所述代理进程从所述目标负载均衡器中获取所述后端服务器集群的负载信息;
所述业务程序调用接口,并基于所述负载信息对所述后台服务器集群进行负载均衡。
本发明提供的一种实现负载均衡的方法、装置及系统,具有如下技术效果:
本发明实施例通过接收对部署于云平台中业务程序的服务请求,确定所述服务请求对应的服务标识;基于所述服务标识确定目标负载均衡器;利用部署安装的代理进程,从所述目标负载均衡器中获取后端服务器集群的负载信息;所述代理进程与所述业务程序部署在同一机器上;基于所述业务程序所调用的接口和所述负载信息,对所述后台服务器集群进行负载均衡。本发明由于采取代理进程和业务程序直接访问后端服务器的方法,绕开负载均衡监听器,较传统的域名/VIP访问方式可以降低访问时延,也可实现同一个私有云网络内的模块机器可以复用。同时还解决了互联网服务出海的过程中,业务程序在不同地区需要对不同的云服务产商的负载均衡器进行适配的问题,以及在国内对各个云产商的负载均衡器进行适配的问题,实现了对多个云服务产商的负载均衡器进行适配。本发明通过代理进程访问目标负载均衡器,获取后端服务器集群的负载信息,业务程序调用接口,并基于服务标识获取该负载信息,就可以对后端服务器进行负载均衡和容灾,不需要花费大量的人力物力进行代码的修改。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明实施例提供的一种实施环境的示意图;
图2是本发明实施例提供的一种实现负载均衡的方法的流程示意图;
图3是本发明实施例提供的另一种实现负载均衡的方法的流程示意图;
图4是本发明实施例提供的进行第一层负载均衡的流程示意图;
图5是本发明实施例提供的一种实现负载均衡的方法的部分时序图;
图6是本发明实施例提供的一种实现负载均衡的装置的结构框图;
图7是本发明实施例提供的一种实现负载均衡的系统的结构框图;
图8是本发明实施例提供的又一种实现负载均衡的方法的流程示意图;
图9是本发明实施例提供的又一种实现负载均衡的方法的应用环境示意图;
图10是本发明提供的一种用于实现本发明实施例所提供的方法的设备的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参考图1,其示出了本发明实施例提供的一种实施环境的示意图。该实施环境可以包括:终端10、与所述终端10通过网络连接的云平台20。
终端10具体可以包括运行于实体设备中的软体,例如安装在设备上的应用等,也可以包括安装有应用的智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等类型的实体设备中至少一种。具体的,终端10上运行有操作系统,该操作系统可以是视窗(Windows)操作系统或Linux操作系统或者Mac OS(苹果桌面操作系统)等桌面操作系统,也可以是iOS(苹果移动终端操作系统)或者安卓(Android)操作系统等移动操作系统。
云平台20具体包括第一服务器21、负载均衡器22和第二服务器23,所述第一服务器21分别与所述负载均衡器22和所述第二服务器23网络连接,所述负载均衡器22和第二服务器23网络连接。
其中,所述第一服务器21可以是独立的服务器,也可以是由多个独立服务器组成的服务器集群,或者是一个云计算服务中心。所述第一服务器21可以为虚拟机或具体的物理服务器。
所述负载均衡器22用于实现第二服务器23的负载均衡,其可以为软件负载均衡器或虚拟负载均衡器,负载均衡器22的数量可以一个或多个。若负载均衡器22的数量为多个时,可以包括主负载均衡器和副负载均衡器。
第二服务器23具体可以为位于负载均衡器22后端的提供业务服务的真实服务器(Real Server,RS)。所述第二服务器23可以是独立的服务器,也可以是由多个独立服务器组成的服务器集群,或者是一个云计算服务中心。所述第二服务器23可以为虚拟机或具体的物理服务器。
在一种情形,所述第一服务器21与所述终端通信连接,用于获取终端10发送的服务请求,并通过负载均衡器22获取第二服务器23的负载信息,对第二服务器23进行负载均衡,并将负载均衡结果发送给所述第二服务器23,以使所述第二服务器23提供相应的业务服务。
需要说明的是,所述云平台包括但不限于此,其还可包括云平台的数据库、管理器、存储服务器、配置中心和/或其它能够部署于云架构的设备等。
应理解,图1中示出的实施环境仅仅是与本发明方案一种应用环境,并不构成对本发明方案应用环境的限定,其他的应用环境还可以包括比图中所示更多或更少的计算机设备,或者计算机设备网络连接关系。
以下介绍本发明一种实现负载均衡的方法的具体实施例,图2是本发明实施例提供的一种实现负载均衡的方法的流程示意图,本发明提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。如图2所示,该方法的执行主体可以为上述应用环境中的的第一服务器,该方法可以包括:
S201:接收对部署于云平台中业务程序的服务请求,确定所述服务请求对应的服务标识。
本发明实施例中,终端可以向第一服务器发送针对部署于云平台中业务程序的服务请求。该业务程序部署在云平台中的第一服务器中,具体的可以安装在第一服务器的虚拟机中。该业务程序可以为例如充值业务程序、开发票业务程序等,其可以独自控制执行全部的充值服务、开发票服务等,也可以将服务分解为多个子服务,并将至少一个子服务转交给其他业务程序进行控制执行,本发明实施例对该业务程序不做具体限定。服务请求可以为针对业务程序的操作请求,其包括但不限于为查询请求、买卖请求、存储请求、下载请求、业务处理请求中至少一种,该服务请求可以为外网设备发送的请求或者内网设备发送的请求,本发明实施例对该服务请求也不做具体限定。
服务标识是用于指示执行对应服务的后端服务器。服务标识可以为表征区分所述服务请求对应的下一服务的名字ID或字符串。在本发明实施例中,该服务标识(这里记为SID)可以包括模块标识(moduleid)和命令标识(cmdid),所述模块标识用于区别服务中各任务的标识,所述命令标识用于区别每个任务对应的下一级操作命令的标识。示例的,某一业务程序对应的服务请求可以分解为两个任务,例如存储任务和买卖任务。在业务程序中每个任务可以由对应的任务模块来执行,例如存储模块和买卖模块。模块标识(moduleid)即为对应任务模块的标识。针对每个任务又可分解为多个操作命令,例如买卖任务中可包含查找对象价格的命令、下单命令、扣款命令等,每个命令对应命令标识(cmdid)。
需要说明的是,该服务标识可以基于多个业务程序对应的多个服务请求进行统一生成和配置。
在一具体实施例,终端可以登陆云平台的登录界面,在登陆验证通过后进入云平台的统一操作界面,之后设置对部署于云平台的业务程序的服务信息,基于该服务信息生成对应的服务请求,将该服务请求发送至部署于该业务程序的机器(例如第一服务器)上。第一服务器中的业务程序获取该服务请求后,可以先确定服务请求对应的模块标识(moduleid)和命令标识(cmdid),再将该模块标识和命令标识组合在一起作为该服务标识SID(moduleid,cmdid),以基于该服务标识SID区分一个下游服务。
S203:基于所述服务标识确定目标负载均衡器。
由于云平台中的负载均衡需求较大,通常需要部署多个负载均衡器。每个负载均衡器之间存在差别,尤其是在跨地域的各负载均衡器之间或者应用于不同的云平台的负载均衡器之间的差别更甚。此外,用户所需求的负载均衡服务中负载均衡实例信息和负载均衡类型也不一定相同。在确定了服务标识后,需要确定对应的目标负载均衡器。
在本发明实施例,所述基于所述服务标识确定目标负载均衡器,可以包括:
S2031:基于服务标识和负载均衡器的配置数据的映射关系,确定所述服务标识对应的目标负载均衡器的配置数据,所述配置数据包括负载均衡实例信息和负载均衡类型。
在本发明实施例中,服务标识和负载均衡器的配置数据的映射关系可以存储在云平台的数据库或其它存储设备中。第一服务器获取该映射关系,并基于该映射关系,可以确定该服务标识对应的目标负载均衡器的配置数据。配置数据包括负载均衡实例信息和负载均衡类型。其中,负载均衡实例信息可以包括负载均衡实例的ID。负载均衡类型可以包括传统型和应用型,其中,传统型是单纯基于IP和端口的四层协议进行转发;应用型是既能基于四层协议转发,又能基于内容规则的七层协议转发。
在一些实施例中,第一服务器获取该映射关系后,可以将该映射关系保存,以便下一次直接调用存储的映射关系,减小处理延时。
在一些实施例中,服务标识和负载均衡器的配置数据的映射关系可以为一套,由配置管理模块统一部署,该配置管理模块可以部署在第一服务器所在云平台内,也可部署在所在云平台外。若部署在第一服务器所在云平台外的情况下,例如可以部署在大陆的互联网数据中心IDC环境、其他区域的私有网络(Virtual Private Cloud,VPC)环境中,配置管理模块可以与各个云服务产商的VPC环境打通。在管理模块配置负载均衡器的配置信息、生成SID映射关系,并同步到其他地域(例如海外)相应的VPC环境。
在一些实施例,所述方法还可以包括:
S202:建立服务标识和负载均衡器的配置数据的映射关系。
示例的,运维人员预先配置负载均衡器的配置数据,该配置数据包括但不限于为负载均衡示例信息和负载均衡类型;之后基于该配置数据和生成的对应的服务标识SID做一个映射,得到两者的映射关系。
在一些实施例,所述方法还可以包括:
将所述映射关系存储于云平台的数据库、和/或所述代理进程中;
更新所述云平台的数据库、和/或所述代理进程中所存储的映射关系。
S2033:基于所确定的负载均衡实例信息和负载均衡类型,确定目标负载均衡器。
示例的,基于所确定的负载均衡实例的ID和负载均衡类型,从负载均衡器集群中确定目标负载均衡器。所述目标负载均衡器用于获取后端服务器(记为RS)中的负载信息。
S205:利用部署安装的代理进程,从所述目标负载均衡器中获取后端服务器集群的负载信息;所述代理进程与所述业务程序部署在同一机器上。
在本发明实施例,在确定了目标负载均衡器,即得到该目标负载均衡器的负载均衡实例信息和负载均衡类型等信息,部署安装在与业务程序同一机器上的代理进程就能够访问该目标负载均衡器,从目标负载均衡器中获取后端服务器集群的负载信息。具体的,代理进程调用目标负载均衡器的接口(一般是http/https服务),获取该目标负载均衡器对应的后端服务器集群的负载信息并发送给业务程序。该负载信息用于描述后端服务器集群中每个服务器的位置信息和与负载相关的信息。示例的,该负载信息包括但不限于为后端服务器集群中每个后端服务器的服务地址IP、端口和静态权重信息。静态权重信息是目标负载均衡器基于负载均衡算法为每个后端服务器预先配置的初始权重信息。
在一些实施例,为了减少服务时延,代理进程可以将服务标识SID与后端服务器集群的负载信息进行了1层缓存,并定时(比如分钟级)刷新后端服务器集群及其负载信息的列表。
在一些实施例,代理进程提供了一套适配不同的云服务产商的负载均衡器的插件接口,如果需要适配新的负载均衡器,只需要实现插件即可,不涉及到业务程序的修改。插件的接口定义如下:
Figure BDA0002225259470000091
Figure BDA0002225259470000101
S207:基于所述业务程序所调用的接口和所述负载信息,对所述后台服务器集群进行负载均衡。
在本发明实施例,业务程序调用接口,入参为服务标识SID(moduleid,cmdid),通过代理进程获取下游服务器的负载信息,之后利用预设的负载均衡算法对后台服务器集群进行负载均衡,得到更新的负载信息。示例的,该接口可以包括但不限于为业务程序编程接口API。该负载信息包括但不限于为后端服务器集群中每个后端服务器的服务地址IP、端口和静态权重信息中一个或多个。该后台服务器集群可以包括但不限于为与目标负载均衡器绑定的至少一个服务器。该负载均衡算法包括但不限于为加权轮转负载均衡算法(WRR)、轮询算法、基于响应时间算法、IP hash算法等通用算法。
其中,加权轮转负载均衡算法:按虚拟机实际配置的权重比例计算每个虚拟机分配的负载。例如:一个负载均衡器实例绑定了3台后端服务器,若服务器1配置权重为3,服务器2配置权重为7,则两台服务器的请求接收比例为3:7。权重越高其接收比例越大。
轮询算法:定时发出询问,依序询问每一个周边设备是否需要其服务,有则给予服务,服务结束后再询问下一个周边接着不断周而复始,按照访问顺序的平均分配。
基于响应时间算法:根据后端服务器响应web请求的速度来判断服务器的负载,优先将负载分配响应速度快的服务器上。
IP hash算法:每个请求按访问IP的hash结果分配,这样每个请求固定一个后端服务器,IP hash可使得来自同一IP(网段)的请求被转发到同一台后端服务器上。
在一些实施例,业务程序调用接口,入参为服务标识SID(moduleid,cmdid),业务程序向代理进程发送获取负载信息的请求,代理进程判断缓存里是否有该SID及对应的信息,若有,则直接通过代理进程获取下游服务器的负载信息;若没有,负载均衡器先从目标负载均衡器中获取该SID对应的后端服务器IP、端口、静态权重信息后,再将所获取的负载信息返回给请求的业务程序。
在一些实施例,业务程序可以调用业务程序编程接口API将服务标识SID(moduleid,cmdid)与后端服务器集群的更新的负载信息进行了2层缓存,若存储超过时长则清空缓存。在指定时间范围内(比如秒钟级),可以直接使用缓存的更新的负载信息中的后端服务器列表进行负载均衡,降低了代理进程的通信频率,提高性能。应理解,业务程序的负载均衡和容灾是在API里实现的。
业务程序编程接口API提供给业务程序调用,方便业务程序和负载均衡器解耦合。根据实际应用情况,可以实现c/c++,php,python,java、golang等语言的API接口。以C/C++为例,如下:
Figure BDA0002225259470000111
Figure BDA0002225259470000121
可以看到,任何云产商的负载均衡器,业务程序都只需要传入SID(moduleid,cmdid)即可获得后端服务器的IP,不需要做大量的适配工作。应理解,此处只是给了一个例子,API还可以实现一致性Hash等接口,在此不再赘述。
在一些实施例,在业务程序对后台服务器集群做负载均衡后,得到每个后台服务器对应的更新的权重信息,即得到后台服务器集群的更新的负载信息。之后,业务程序利用API调用更新的负载信息中对应的至少一个后端服务器,按照该更新的权重信息发送服务请求,之后接收对应的后端服务器反馈所针对该服务请求的服务应答,得到对应的后端服务器的服务质量,之后向代理进程上报该后端服务器的服务质量。示例的,这里的后端服务器的服务质量是后端服务器响应本次服务请求的服务质量,该服务质量包括但不限于为请求延时时间、是否请求成功等。
本发明由于采取代理进程和业务程序直接访问后端服务器的方法,绕开负载均衡监听器,较传统的域名/VIP访问方式可以降低访问时延,也可实现同一个私有云网络内的模块机器可以复用。同时还解决了互联网服务出海的过程中,业务程序在不同地区需要对不同的云服务产商的负载均衡器进行适配的问题,以及在国内对各个云产商的负载均衡器进行适配的问题,实现了对多个云服务产商的负载均衡器进行适配。本发明通过代理进程访问目标负载均衡器,获取后端服务器集群的负载信息,业务程序调用接口,并基于服务标识获取该负载信息,就可以对后端服务器进行负载均衡和容灾,不需要花费大量的人力物力进行代码的修改。
图3是本发明实施例提供的另一种实现负载均衡的方法的流程示意图。如图3所示,该方法的执行主体可以为上述应用环境中的的第一服务器,该方法可以包括:
S301:接收对部署于云平台中业务程序的服务请求,确定所述服务请求对应的服务标识。
S303:基于所述服务标识确定目标负载均衡器。
S305:利用部署安装的代理进程,从所述目标负载均衡器中获取后端服务器集群的负载信息;所述代理进程与所述业务程序部署在同一机器上。
需要说明的是,上述步骤S301至S305的具体内容可参见上述步骤S201至S205,在此不再赘述。
S307:获取业务程序上报的上一统计周期的平均服务质量信息。
在本发明实施例,平均服务质量信息指的是业务程序基于各个后台服务器反馈的上一统计周期的请求应答所确定的每次服务质量信息的汇总统计信息。示例的,平均服务质量信息包括各个后台服务器的平均时延、最大时延、成功率等等的统计信息。该上一统计周期包括但不限于为1~3分钟。该每次服务质量信息可以为基于业务程序所上报的历史服务质量信息所确定的。
S309:基于所述静态权重信息和所述平均服务质量信息,利用所述代理进程对所述后台服务器集群进行第一层负载均衡,得到每个后端服务器的一级负载权重信息。
在本发明实施例,可以基于静态权重信息和平均服务质量信息,调整后台服务器集群中每个后台服务器对应的最终权重信息,实现对所述后台服务器集群进行第一层负载均衡。
在一些实施例,如图4所示,所述基于所述静态权重信息和所述平均服务质量信息,利用所述代理进程对所述后台服务器集群进行第一层负载均衡,得到每个后端服务器的一级负载权重信息,包括:
S401:基于所述平均服务质量信息,确定每个服务器对应的动态权重信息。
在本发明实施例,所述基于所述平均服务质量信息,确定每个服务器对应的动态权重信息,包括:
S4011:基于所述平均服务质量信息,确定每个后台服务器对应的延时负载值和成功率负载值。
S4013:获取每个后台服务器对应的延时倍率和成功倍率。
S4015:基于所述延时负载值、成功率负载值、延时倍率和成功倍率,确定每个服务器对应的负载值。
S4017:基于每个服务器对应的负载值,确定每个服务器对应的动态权重信息。
下面以后端服务器k为例,具体说明该服务器对应的动态权重信息的计算公式如下:
服务器k的延时负载值的计算公式为:
delay_load(k)=delay(k)/min(delay(0)..delay(n)) (1)
其中,delay_load(k)为服务器k的延时负载值,delay(k)为服务器k的平均时延,min(delay(0)..delay(n))为n个后台服务器中的最小的服务器平均时延。平均时延越大,延时负载值越大,需要少分配一些请求给该服务器。
服务器k的成功率负载值的计算公式为:
ok_load(k)=max(ok_rate(0)..ok_rate(n))/ok_rate(k) (2)
其中,ok_load(k)为服务器k的成功率负载值,max(ok_rate(0)..ok_rate(n))为n个后台服务器中的最大的服务器成功率,ok_rate(k)为该服务器k的成功率。成功率越大,成功率负载值越大,可以多分配一些请求给该服务器。
服务器k对应的负载值的计算公式为:
load(k)=delay_load(k)*延时倍率+ok_load(k)*成功率倍率 (3)
其中,load(k)为服务器k对应的负载值,延时倍率和成功倍率用于调节延时,成功率所占比重,目前缺省配置可以为1:7,即以成功率为主。
服务器k的动态权重的计算公式为:
Wd(k)=1/load(k) (4)
其中,Wd(k)为服务器k的动态权重,load(k)为服务器k对应的负载值,采用上面公式(3)中计算得到的值。
S403:基于所述每个服务器对应的动态权重信息和对应的静态权重信息,确定每个后端服务器的一级负载权重信息。
服务器k的最终权重的计算公式为:
W(k)=Wd(k)*Ws(k) (5)
其中,Wd(k)为服务器k的动态权重,Ws(k)为服务器k的静态权重,静态权重是负载均衡器上配置的服务器的权重。
S311:将所述每个后端服务器的一级负载权重信息替换掉对应的静态权重信息,得到更新的负载信息;
具体的,将经过代理进行进行第一层负载均衡所确定的每个后端服务器的一级负载权重信息作为目标权重信息,替换掉初始的负载信息中的静态权重信息,得到更新的负载信息;之后将该更新的负载信息返回给业务程序。
S313:所述业务程序获取所述更新的负载信息;所述更新的负载信息包括后端服务器集群中每个后端服务器的服务地址IP、端口和一级负载权重信息。
应理解,这里的一级负载权重信息是经过代理进行进行一层负载均衡所确定的每个后端服务器的权重信息。
S315:基于所述业务程序所调用的接口和所述更新的负载信息,对所述后台服务器集群进行第二层负载均衡,得到目标后端服务器信息。
在本发明实施例,业务程序调用接口,入参为服务标识SID(moduleid,cmdid),通过代理进程获取后台服务器的负载信息,经过代理进程对后台服务器进行一层负载均衡后,得到更新的负载信息,之后利用预设的负载均衡算法对后台服务器集群进行第二层负载均衡。示例的,该接口可以包括但不限于为业务程序编程接口API。该更新的负载信息包括但不限于为后端服务器集群中每个后端服务器的服务地址IP、端口和一级负载权重信息。该后台服务器集群可以包括但不限于为与目标负载均衡器绑定的至少一个服务器。该负载均衡算法包括但不限于为加权轮转负载均衡算法(WRR)、轮询算法、基于响应时间算法、IP hash算法等通用算法。该目标后端服务器信息包括目标后端服务器的IP、端口和对应的二级负载权重信息。
由于采取绕开负载均衡监听器直接访问后端服务器的方法,且代理进行进行一层负载均衡和业务程序进行二次负载均衡,采用了“2层负载均衡”的策略,可进一步提高负载均衡效果,降低对负载均衡器的负载功能的依赖性。
在一些实施例,所述方法还可包括:
S317:基于所述业务程序所调用的接口,调用所述目标后端服务器信息中每个目标后端服务器按照对应的二级负载权重信息执行所述业务请求。
S319:所述业务程序基于获取的所述目标后端服务器信息中每个目标后端服务器的服务应答,上报所述每个目标后端服务器的本次服务质量信息。
示例的,本次服务质量包括但不限于为请求延时时间、是否请求成功等。
在一些实施例,所述方法还可包括:
将所述服务标识和所述更新的负载信息对应存储在所述代理进程中;
按第一预定时间,更新所述代理进程中所存储的更新的负载信息;
和/或
将所述所述服务标识和所述目标后端服务器信息对应存储在所述业务程序中;
按第二预定时间,更新所述业务程序中所存储的更新的目标后端服务器信息,所述第二预定时间短于所述第一预定时间。
在一些实施例,代理进程可以将服务标识SID与后端服务器集群的负载信息进行了1层缓存,并按第一预定时间刷新后端服务器集群及其负载信息的列表,从而减少请求应答延时。在一些实施例,业务程序可以调用业务程序编程接口API将服务标识SID(moduleid,cmdid)对后端服务器集群的更新的负载信息进行了2层缓存,若存储超过时长则清空缓存。在第二预定时间范围,可以直接使用缓存的更新的负载信息中的后端服务器列表进行负载均衡,降低了代理进程的通信频率,提高性能。应理解,业务程序的负载均衡和容灾是在API里实现的。示例的,第一预定时间可以为分钟级,第二预定时间可以为秒钟级。
由于采取绕开负载均衡监听器直接访问后端服务器的方法,并且采用了“2层缓存+2层负载均衡”的策略,可进一步降低业务程序访问后端服务器可以访问时延。
为了便于理解,请参考图5,其示出了本发明实施例提供的一种实现负载均衡的方法的部分时序图。如图5所示,所述方法包括:
S501:业务程序接收对部署于云平台中业务程序的服务请求,确定所述服务请求对应的服务标识。
S502:业务程序向代理进程发送所确定的服务标识SID。
S503:代理进程基于所述服务标识SID确定目标负载均衡器。
S504:代理进程访问所述目标负载均衡器。
S505:目标负载均衡器获取后台服务器对应的负载信息。
S506:目标负载向代理进程返回所述后台服务器对应的负载信息。
S507:代理进程基于所述后台服务器对应的负载信息,对后台服务器做第一层负载均衡,得到更新的负载信息。
S508:代理进程向业务程序发送所述更新的负载信息。
S509:业务程序调用API接口和该更新的负载信息,对后台服务器做第二层负载均衡,得到目标后端服务器信息。
S510:业务程序调用接口,调用所述后端服务器信息中每个后端服务器执行所述业务请求对应的服务。
S511:后台服务器向业务程序发送基于业务请求对应的服务的服务应答。
S512:业务程序基于获取的所述目标后端服务器信息中每个后端服务器的服务应答,向代理进程上报所述目标后端服务器信息中每个后端服务器的本次服务质量信息。
S513:代理进程根据历史上报的多次服务质量信息,确定上一历史周期的平均服务质量信息,并计算动态权重信息。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参考图6,其示出了本发明实施例提供的一种实现负载均衡的装置的结构框图。该装置具有实现上述方法示例中服务器侧的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。所述装置60可以包括:
第一确定模块61,用于接收对部署于云平台中业务程序的服务请求,确定所述服务请求对应的服务标识;
第二确定模块62,用于基于所述服务标识确定目标负载均衡器;
获取模块63,用于利用部署安装的代理进程,从所述目标负载均衡器中获取后端服务器集群的负载信息;所述代理进程与所述业务程序部署在同一机器上;
第一负载均衡模块64,用于基于所述业务程序所调用的接口和所述负载信息,对所述后台服务器集群进行负载均衡。
在一些实施例中,所述装置还包括:
平均服务质量信息获取模块,用于获取从后台服务器集群上报的上一统计周期的平均服务质量信息;
第二负载均衡模块,用于基于所述静态权重信息和所述平均服务质量信息,利用所述代理进程对所述后台服务器集群进行第一层负载均衡,得到每个后端服务器的一级负载权重信息;
替换模块,用于将所述每个后端服务器的一级负载权重信息替换掉对应的静态权重信息,得到更新的负载信息。
在一些实施例中,所述第一负载均衡模块,包括:
获取单元,用于所述业务程序获取所述更新的负载信息;所述更新的负载信息包括后端服务器集群中每个后端服务器的服务地址、端口和一级负载权重信息;
第一负载均衡单元,用于基于所述业务程序所调用的接口和所述更新的负载信息,对所述后台服务器集群进行第二层负载均衡,得到目标后端服务器信息。
在一些实施例中,所述装置还包括:
第一存储模块,用于将所述服务标识和所述更新的负载信息对应存储在所述代理进程中;
第一更新模块,用于按第一预定时间,更新所述代理进程中所存储的更新的负载信息;
和/或
第二存储模块,用于将所述所述服务标识和所述目标后端服务器信息对应存储在所述业务程序中;
第二更新模块,用于按第二预定时间,更新所述业务程序中所存储的更新的目标后端服务器信息,所述第二预定时间短于所述第一预定时间。
在一些实施例中,所述第二负载均衡模块还包括:
动态权重确定单元,用于基于所述平均服务质量信息,确定每个服务器对应的动态权重信息;
第二负载均衡单元,用于基于所述每个服务器对应的动态权重信息和对应的静态权重信息,确定每个后端服务器的一级负载权重信息。
在一些实施例中,所述动态权重确定单元包括:
第一负载值确定子单元,用于基于所述平均服务质量信息,确定每个后台服务器对应的延时负载值和成功率负载值;
倍率获取子单元,用于获取每个后台服务器对应的延时倍率和成功倍率;
第二负载值确定子单元,用于基于所述延时负载值、成功率负载值、延时倍率和成功倍率,确定每个服务器对应的负载值;
动态权重确定子单元,用于基于每个服务器对应的负载值,确定每个服务器对应的动态权重信息。
在一些实施例中,所述装置还包括:
关系建立模块,用于建立服务标识和负载均衡器的配置数据的映射关系;
关系存储模块,用于将所述映射关系存储于云平台的数据库、和/或所述代理进程中;
关系更新模块,用于更新所述云平台的数据库、和/或所述代理进程中所存储的映射关系。
在一些实施例中,所述第二确定模块包括:
配置数据确定单元,用于基于服务标识和负载均衡器的配置数据的映射关系,确定所述服务标识对应的目标负载均衡器的配置数据,所述配置数据包括负载均衡实例信息和负载均衡类型;
负载均衡器确定单元,用于基于所确定的负载均衡实例信息和负载均衡类型,确定目标负载均衡器。
本发明实施例提供了一种实现负载均衡的设备,该设备可以包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的实现负载均衡的方法。
本发明实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行上述任一所述的实现负载均衡的方法。
下述为本发明系统实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参考图7,其示出了本发明实施例提供的一种实现负载均衡的系统的结构框图。该系统包括数据中心、配置中心、实现负载均衡的装置和负载均衡器集群;所述实现负载均衡的装置包括部署安装的代理进程和业务应用。
所述数据中心用于配置服务标识并建立服务标识和负载均衡器的配置数据的映射关系;
所述配置中心用于将数据中心所建立的映射关系发送给所述代理进程;
所述业务应用接收对部署于云平台中业务程序的服务请求,确定所述服务请求对应的服务标识;
所述代理进程基于所述映射关系,确定所述服务标识对应的目标负载均衡器;
所述负载均衡器集群中的目标负载均衡器获取后端服务器集群的负载信息;
所述代理进程从所述目标负载均衡器中获取所述后端服务器集群的负载信息;
所述业务程序调用接口,并基于所述负载信息对所述后台服务器集群进行负载均衡。
需要说明的是,本实施例中的实现负载均衡的装置的具体内容可参见上述实施例,在此不再赘述。
图8是本发明实施例提供的又一种实现负载均衡的方法的流程示意图。图9是本发明实施例提供的又一种实现负载均衡的方法的应用环境示意图。如图8和9所示,该方法的执行主体可以为上述实现负载均衡的系统,该方法可以包括:
S801:数据中心配置服务标识并建立服务标识和负载均衡器的配置数据的映射关系。
示例的,运维人员在数据中心的管理端预先配置负载均衡器的配置数据,该配置数据包括但不限于为负载均衡示例信息和负载均衡类型;之后基于该配置数据和生成的对应的服务标识SID做一个映射,得到两者的映射关系。
服务标识SID和负载均衡器的配置数据的映射关系可以为一套,由数据中心统一部署,该数据中心可以部署在第一服务器所在云平台内,也可部署在所在云平台外。在本发明实施例,数据中心部署在第一服务器所在云平台外的情况下,例如可以部署在大陆的互联网数据中心IDC环境中,数据中心可以与各个云服务产商的VPC1-VPCN环境打通。在数据中心配置负载均衡器的配置信息、生成SID映射关系,并同步到其他地域(例如海外)相应的VPC环境。
S803:配置中心将数据中心所建立的映射关系发送给所述代理进程;
S805:业务程序接收服务请求,确定所述服务请求对应的服务标识;
S807:代理进程基于所述映射关系和服务标识,确定所述服务标识对应的目标负载均衡器;
S809:负载均衡器集群中的目标负载均衡器获取后端服务器集群的负载信息;
S811:代理进程从所述目标负载均衡器中获取所述后端服务器集群的负载信息;
S813:业务程序调用接口,并基于所述负载信息对所述后台服务器集群进行负载均衡。
在一些实施例中,所述方法还可以包括:
S901:将所述映射关系同步存储于云平台的数据库、和/或所述代理进程中。
示例的,将该映射关系同步写入云平台中各私有网络的数据库,该私有网络可以包括不同地域的私有网络或者不同云服务产商对应的私有网络等。当然,还可直接和/或同时将该映射关系同步存储至部署安装于云平台的代理进程中。
在另一实施例中,所述方法还包括:
S903:更新所述云平台的数据库、和/或所述代理进程中所存储的映射关系。
在映射关系发生数据变化时,可以将更新的映射关系同步到各个云平台中的数据库、和/或所述代理进程中,以实现更新所存储的映射关系。所述更新机制包括以下两种情况:
1)负载均衡配置的订阅
为了使私有云网络(Virtual Private Cloud,VPC)的各个云服务器(CloudVirtual Machine,CVM)可以获得服务标识SID和负载均衡器的配置数据,配置中心和VPC的代理进程(agent)实现了负载均衡配置数据的订阅和发布的机制。代理进程订阅了服务标识SID与负载均衡配置。当配置数据变更时,配置中心向代理进程通知所订阅数据的当前版本号,代理进程比较本地的版本号,如果版本号不同则向配置中心获取最新版本的数据并保存到本地。
2)负载均衡配置的下发
除了变更通知外,为了防止变更消息丢失,代理进程(agent)还带上本地的版本号,定时拉取配置中心的订阅数据。如果版本号与配置中心当前数据的版本号不同,配置中心则返回最新的数据和当前的版本号;否则返回空。
需要说明的是,关于实现负载均衡的装置的具体执行内容可参见上述实施例,在此不再赘述。
进一步地,图10示出了一种用于实现本发明实施例所提供的方法的设备的硬件结构示意图,所述设备可以为计算机终端、移动终端或其它设备,所述设备还可以参与构成或包含本发明实施例所提供的装置。如图10所示,计算机终端10可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本发明实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中所述的方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种神经网络处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本发明特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种实现负载均衡的方法,其特征在于,包括:
接收对部署于云平台中业务程序的服务请求,确定所述服务请求对应的服务标识;
基于所述服务标识确定目标负载均衡器;
利用部署安装的代理进程调用所述目标负载均衡器的插件接口,从所述目标负载均衡器中获取后端服务器集群的负载信息;所述代理进程与所述业务程序部署在同一机器上;
基于所述业务程序所调用的接口和所述负载信息,对所述后端服务器集群进行负载均衡。
2.根据权利要求1所述方法,其特征在于,所述负载信息包括所述后端服务器集群中每个后端服务器的静态权重信息;所述利用部署安装的代理进程,从所述目标负载均衡器中获取后端服务器集群的负载信息之后,所述方法还包括:
获取业务程序上报的上一统计周期的平均服务质量信息;
基于所述静态权重信息和所述平均服务质量信息,利用所述代理进程对所述后端服务器集群进行第一层负载均衡,得到每个后端服务器的一级负载权重信息;
将所述每个后端服务器的一级负载权重信息替换掉对应的静态权重信息,得到更新的负载信息。
3.根据权利要求2所述方法,其特征在于,所述基于所述业务程序所调用的接口和所述负载信息,对所述后端服务器集群进行负载均衡,包括:
所述业务程序获取所述更新的负载信息;所述更新的负载信息包括所述后端服务器集群中每个后端服务器的服务地址、端口和一级负载权重信息;
基于所述业务程序所调用的接口和所述更新的负载信息,对所述后端服务器集群进行第二层负载均衡,得到目标后端服务器信息;所述目标后端服务器信息包括目标后端服务器的服务地址、端口和二级负载权重信息。
4.根据权利要求3所述方法,其特征在于,所述方法还包括:
将所述服务标识和所述更新的负载信息对应存储在所述代理进程中;
按第一预定时间,更新所述代理进程中所存储的更新的负载信息;
和/或
将所述服务标识和所述目标后端服务器信息对应存储在所述业务程序中;
按第二预定时间,更新所述业务程序中所存储的所述目标后端服务器信息,所述第二预定时间短于所述第一预定时间。
5.根据权利要求2所述方法,其特征在于,所述基于所述静态权重信息和所述平均服务质量信息,利用所述代理进程对所述后端服务器集群进行第一层负载均衡,得到每个后端服务器的一级负载权重信息,包括:
基于所述平均服务质量信息,确定每个后端服务器对应的动态权重信息;
基于所述每个后端服务器对应的动态权重信息和对应的静态权重信息,确定每个后端服务器的一级负载权重信息。
6.根据权利要求5所述方法,其特征在于,所述基于所述平均服务质量信息,确定每个后端服务器对应的动态权重信息,包括:
基于所述平均服务质量信息,确定每个后端服务器对应的延时负载值和成功率负载值;
获取每个后端服务器对应的延时倍率和成功倍率;
基于所述延时负载值、成功率负载值、延时倍率和成功倍率,确定每个后端服务器对应的负载值;
基于每个后端服务器对应的负载值,确定每个后端服务器对应的动态权重信息。
7.根据权利要求1所述方法,其特征在于,所述方法还包括:
建立服务标识和负载均衡器的配置数据的映射关系;
将所述映射关系存储于云平台的数据库、和/或所述代理进程中;
更新所述云平台的数据库、和/或所述代理进程中所存储的映射关系。
8.根据权利要求1-7任一所述方法,其特征在于,所述基于所述服务标识确定目标负载均衡器,包括:
基于服务标识和负载均衡器的配置数据的映射关系,确定所述服务标识对应的目标负载均衡器的配置数据,所述配置数据包括负载均衡实例信息和负载均衡类型;
基于所确定的负载均衡实例信息和负载均衡类型,确定目标负载均衡器。
9.一种实现负载均衡的装置,其特征在于,包括:
第一确定模块,用于接收对部署于云平台中业务程序的服务请求,确定所述服务请求对应的服务标识;
第二确定模块,用于基于所述服务标识确定目标负载均衡器;
获取模块,用于利用部署安装的代理进程调用所述目标负载均衡器的插件接口,从所述目标负载均衡器中获取后端服务器集群的负载信息;所述代理进程与所述业务程序部署在同一机器上;
负载均衡模块,用于基于所述业务程序所调用的接口和所述负载信息,对所述后端服务器集群进行负载均衡。
10.一种实现负载均衡的系统,其特征在于,包括数据中心、配置中心、实现负载均衡的装置和负载均衡器集群;所述实现负载均衡的装置包括部署安装的代理进程和业务程序;所述代理进程与所述业务程序部署在同一机器上;
所述数据中心用于配置服务标识并建立服务标识和负载均衡器的配置数据的映射关系;
所述配置中心用于将数据中心所建立的映射关系发送给所述代理进程;
所述业务程序接收对部署于云平台中业务程序的服务请求,确定所述服务请求对应的服务标识;
所述代理进程基于所述映射关系,确定所述服务标识对应的目标负载均衡器;
所述负载均衡器集群中的目标负载均衡器获取后端服务器集群的负载信息;
所述代理进程调用所述目标负载均衡器的插件接口,从所述目标负载均衡器中获取所述后端服务器集群的负载信息;
所述业务程序调用接口,并基于所述负载信息对所述后端服务器集群进行负载均衡。
11.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至8中任意一项所述实现负载均衡的方法。
CN201910949305.XA 2019-10-08 2019-10-08 一种实现负载均衡的方法、装置及系统 Active CN110602254B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910949305.XA CN110602254B (zh) 2019-10-08 2019-10-08 一种实现负载均衡的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910949305.XA CN110602254B (zh) 2019-10-08 2019-10-08 一种实现负载均衡的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN110602254A CN110602254A (zh) 2019-12-20
CN110602254B true CN110602254B (zh) 2022-05-20

Family

ID=68865665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910949305.XA Active CN110602254B (zh) 2019-10-08 2019-10-08 一种实现负载均衡的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN110602254B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367654A (zh) * 2020-02-12 2020-07-03 吉利汽车研究院(宁波)有限公司 基于异构云平台的数据处理方法及装置
CN111949404B (zh) * 2020-08-12 2024-04-26 北京金山云网络技术有限公司 调整服务器负载的方法、装置和相关设备
CN112055086B (zh) * 2020-09-10 2023-05-16 郑州时空隧道信息技术有限公司 一种IIS站点、Windows服务的发布与管理方法、运维系统及平台
CN112187924B (zh) * 2020-09-28 2024-03-01 深圳前海微众银行股份有限公司 服务请求方法、装置、设备及计算机存储介质
CN112381498B (zh) * 2020-10-19 2024-03-05 广东电网有限责任公司佛山供电局 电网业务处理系统、装置、设备和存储介质
CN112491066B (zh) * 2020-11-13 2023-11-03 北京京东尚科信息技术有限公司 负载均衡方法、装置、系统、目标负载均衡设备及介质
CN112667386A (zh) * 2021-01-18 2021-04-16 青岛海尔科技有限公司 任务管理方法和装置、存储介质及电子设备
CN113094182B (zh) * 2021-05-18 2024-02-27 联想(北京)有限公司 一种服务的负载均衡处理方法、装置及云端服务器
CN113342618B (zh) * 2021-06-30 2024-06-18 深圳前海微众银行股份有限公司 分布式监控集群管理方法、设备及计算机可读存储介质
CN114003371B (zh) * 2021-09-28 2023-03-07 中汽创智科技有限公司 一种自动驾驶负载均衡方法、装置、电子设备及存储介质
CN114157666B (zh) * 2021-10-25 2024-06-14 北京千方科技股份有限公司 一种基于智能云平台的负载均衡系统、方法、介质及装置
CN114416332B (zh) * 2021-12-03 2024-05-14 湖北科技学院 一种水资源监测数据接入平台双时间轮连接管理算法
CN114567599A (zh) * 2022-02-28 2022-05-31 中国工商银行股份有限公司 负载管控方法及装置
CN117112123A (zh) * 2023-02-13 2023-11-24 深圳市同行者科技有限公司 一种基于kubernetes的负载均衡方法和相关设备
CN116155817A (zh) * 2023-02-24 2023-05-23 云南电网有限责任公司电力科学研究院 数据的轮询调度方法及装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468648A (zh) * 2013-09-13 2015-03-25 腾讯科技(深圳)有限公司 数据处理系统及方法
CN105338082A (zh) * 2015-10-30 2016-02-17 浪潮(北京)电子信息产业有限公司 基于应用代理服务器的负载均衡方法及装置
CN105959413A (zh) * 2016-06-30 2016-09-21 上海智臻智能网络科技股份有限公司 网络代理方法和代理系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8549148B2 (en) * 2010-10-15 2013-10-01 Brocade Communications Systems, Inc. Domain name system security extensions (DNSSEC) for global server load balancing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468648A (zh) * 2013-09-13 2015-03-25 腾讯科技(深圳)有限公司 数据处理系统及方法
CN105338082A (zh) * 2015-10-30 2016-02-17 浪潮(北京)电子信息产业有限公司 基于应用代理服务器的负载均衡方法及装置
CN105959413A (zh) * 2016-06-30 2016-09-21 上海智臻智能网络科技股份有限公司 网络代理方法和代理系统

Also Published As

Publication number Publication date
CN110602254A (zh) 2019-12-20

Similar Documents

Publication Publication Date Title
CN110602254B (zh) 一种实现负载均衡的方法、装置及系统
CN108737270B (zh) 一种服务器集群的资源管理方法和装置
CN109246229B (zh) 一种分发资源获取请求的方法和装置
US10083055B2 (en) Management of IoT devices in a virtualized network
EP3629552A1 (en) Method, registration center and device for service discovery
CN110557357B (zh) 一种远程过程调用协议自适应方法、相关装置及服务器
CN110381162B (zh) 一种业务处理的方法以及相关装置
CN110958281B (zh) 基于物联网的数据传输方法及通信装置
CN108173774B (zh) 一种客户端的升级方法及系统
CN111245901B (zh) 一种支持服务参数下发的分布式服务注册发现方法及系统
CN108023953B (zh) Ftp服务的高可用实现方法和装置
CN111611091A (zh) 一种业务对象的服务调用方法、装置及介质
CN110381131B (zh) Mec节点标识的实现方法、移动终端、服务器和存储介质
CN110012083B (zh) 一种数据传输方法、服务器及数据传输装置
CN112424746A (zh) 服务网格内的原位触发的功能即服务
CN112632566A (zh) 漏洞扫描方法和装置、存储介质及电子设备
US20220174588A1 (en) Method for evaluating the devices of a network infrastructure for deploying a virtualised function
US8606908B2 (en) Wake-up server
CN110677475A (zh) 一种微服务处理方法、装置、设备及存储介质
CN111770176B (zh) 流量调度方法及装置
CN112104679B (zh) 处理超文本传输协议请求的方法、装置、设备和介质
CN111615128A (zh) 一种多接入边缘计算方法、平台及系统
CN110113176B (zh) 用于配置服务器的信息同步方法及装置
CN111831503B (zh) 一种基于监控代理的监控方法和监控代理装置
CN113783914A (zh) 数据处理方法、装置及设备

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
GR01 Patent grant
GR01 Patent grant