CN111787095A - 负载均衡方法和负载均衡器 - Google Patents
负载均衡方法和负载均衡器 Download PDFInfo
- Publication number
- CN111787095A CN111787095A CN202010608909.0A CN202010608909A CN111787095A CN 111787095 A CN111787095 A CN 111787095A CN 202010608909 A CN202010608909 A CN 202010608909A CN 111787095 A CN111787095 A CN 111787095A
- Authority
- CN
- China
- Prior art keywords
- cloud server
- health
- health value
- physical machine
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000004891 communication Methods 0.000 claims abstract description 34
- 238000011156 evaluation Methods 0.000 claims description 16
- 239000002131 composite material Substances 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000012544 monitoring process Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供负载均衡方法和负载均衡器以减少过载。上述负载均衡方法应用于负载均衡器,包括:查找服务对应的云服务器(目标云服务器);向目标云服务器发送负载均衡健康请求;接收目标云服务器返回的综合健康信息;使用综合健康信息评估目标云服务器是否健康;其中,综合健康信息包括综合健康值,或者第一健康值和第二健康值,或者,目标物理机的第一性能信息和目标云服务器的第二性能信息;其中,综合健康值由第一健康值和第二健康值计算得到;第一健康值使用第一性能信息计算得到,第二健康值使用第二性能信息计算得到;目标物理机为云服务器所在的物理机;第一性能信息是目标云服务器通过已建立的通信通道获取的,通信通道用于跨级获取物理机的性能信息。
Description
技术领域
本发明涉及网络技术领域,特别涉及负载均衡方法和负载均衡器。
背景技术
负载均衡供了一种廉价有效透明的方法,以扩展网络设备和服务器的带 宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负 载均衡就是分摊到多个操作单元(例如Web服务器、FTP服务器、企业关键 应用服务器和其它关键任务服务器)上进行执行,从而共同完成工作任务。
一般由负载均衡器设备执行负载均衡。在负载均衡中存在健康监测流程。 负载均衡器设备可对后端服务器周期性地进行健康监测。
具体的,负载均衡器设备可周期性地向各后端服务器(Server1至Server3) 发送负载均衡健康请求,根据各后端服务器返回的内容对业务层面是否正常 进行最基本的判断。
如图1所示:假定后端服务提供的访问路径为/path1/abcdef/123456,负载 均衡器设备产生负载均衡健康请求并发送至各后端服务器。假定Server1和 Server2可以成功返回正确的状态代码和字段(如200和该路径的返回data); 而负载均衡健康请求发送到Server3上不通,或者返回不正确的状态代码和字 段。那么下次客户端的实际请求就会转发到Server1和Server2上,而不会转 发到server3节点上。
然而,发明人发现,目前的健康监测只是简单判断对应路径的业务能否 正常返回正确的代码和字段,以此作为后端服务器的健康项,在目前云计算 大型推广的背景下,其越来越不能满足健康监测需求,过载现象时有发生。
发明内容
有鉴于此,本发明实施例提供负载均衡方法和负载均衡器,以减少过载。
为实现上述目的,本发明实施例提供如下技术方案:
一种负载均衡方法,应用于负载均衡器,包括:
查找服务对应的云服务器;查找到的云服务器为目标云服务器;
向所述目标云服务器发送负载均衡健康请求;
接收所述目标云服务器返回的综合健康信息;
使用所述综合健康信息评估所述目标云服务器是否健康;
其中,所述综合健康信息包括综合健康值,或者第一健康值和第二健康 值,或者,目标物理机的第一性能信息和所述目标云服务器的第二性能信息; 其中,所述综合健康值由所述第一健康值和所述第二健康值计算得到;所述 第一健康值使用所述第一性能信息计算得到,所述第二健康值使用所述第二 性能信息计算得到;所述目标物理机为所述云服务器所在的物理机;
所述第一性能信息是所述目标云服务器通过已建立的通信通道获取的, 所述通信通道用于跨级获取物理机的性能信息。
可选的,所述目标物理机上部署有第一性能获取单元;所述第一性能获 取单元用于获取所述第一性能信息。
可选的,所述目标云服务器上部署有第二性能获取单元,所述第一性能 获取单元与所述第二性能获取单元之间建立有通信连接;所述通信通道包括 所述第一性能获取单元、所述第二性能获取单元和所述通信连接;所述第一 性能获取单元通过所述通信连接将所述第一性能信息返回给所述第二性能获 取单元。
可选的,所述第一性能获取单元具体为部署在所述目标物理机中的物理 机Phy插件;所述第二性能获取单元具体为部署在所述目标云服务器上的虚 拟VM插件;所述VM插件和所述Phy插件之间建立有Socket连接;所述 VM插件使用的IP地址为所述云服务器的IP地址,所述Phy插件使用的IP 地址为所述目标物理机的网桥的IP地址;所述云服务器的IP地址与所述网桥 的IP地址属于同一网段;所述Phy插件通过所述Socket连接将所述第一性能信息返回给所VM插件。
可选的,所述VM插件是在所述目标物理机上部署所述目标云服务器 后,部署在所述目标云服务器中的;或者,所述VM插件是所述目标云服务 器首次接收到负载均衡健康请求,在所述目标云服务器中创建的;所述Phy 插件预先部署于所述目标物理机中。
可选的,所述综合健康值的数值越大,表征所述云服务器的当前健康状 态越差;所述评估各云服务器所提供的服务是否健康包括:对综合健康值最 大或综合健康值大于预设阈值的云服务器所提供的服务,得到非健康的评估 结果;或者,为每一云服务器分配权重;计算各云服务器的综合健康值与所 分配权重的积,作为加权健康值;根据所述加权健康值评估各云服务器所提 供的服务是否健康。
可选的,所述第一性能信息包括云服务器所在物理机的CPU占用率、内 存信息、磁盘IO信息和网络带宽;所述第二性能信息包括云服务器的CPU 占用率、内存信息、磁盘IO信息和网络带宽。
可选的,所述第一健康值表示为P健康;所述第一健康值通过如下公式计 算得到:P健康=F(Pcpu)*pcpu+F(Pmem)*pmem+F(Pdiskio)*pdiskio+F(Pband)*pband; 其中,pcpu表示所述物理机的CPU占用率、pmem表示所述物理机的内存信息、 pdiskio表示所述物理机的磁盘IO、pband表示所述物理机的网络带宽;F(Pcpu) 表示所述pcpu对应的参数因子,F(Pmem)表示所述pmem对应的参数因子, F(Pdiskio)表示所述pdiskio对应的参数因子,F(Pband)表示所述pband对应的参数 因子;所述第二健康值表示为V健康;所述第二健康值通过如下公式计算得到: V健康=F(Vcpu)*vcpu+F(Vmem)*vmem+F(Vdiskio)*vdiskio+F(Vband)*vband;其中, Vcpu表示所述云服务器的CPU占用率、vmem表示所述云服务器的内存信息、 vdiskio表示所述云服务器的磁盘IO、vband表示所述云服务器的网络带宽; F(Vcpu)表示所述Vcpu对应的参数因子,F(vmem)表示所述vmem对应的参数因子, F(vdiskio)表示所述vdiskio对应的参数因子,F(vband)表示所述vband对应的参 数因子;所述综合健康值表示为H健康;所述综合健康值通过如下公式计算得 到:H健康=Kv*V健康+Kp*P健康;其中,Kv为云服务器总因子,Kp为物理机总因 子。
一种负载均衡器,包括:
查找单元,用于查找服务对应的云服务器;查找到的云服务器为目标云 服务器;
评估单元,用于:
向所述目标云服务器发送负载均衡健康请求;
接收所述目标云服务器返回的综合健康信息;
使用所述综合健康信息评估所述目标云服务器是否健康;
其中,所述综合健康信息包括综合健康值,或者第一健康值和第二健康 值,或者,目标物理机的第一性能信息和所述目标云服务器的第二性能信息; 其中,所述综合健康值由所述第一健康值和所述第二健康值计算得到;所述 第一健康值使用所述第一性能信息计算得到,所述第二健康值使用所述第二 性能信息计算得到;所述目标物理机为所述云服务器所在的物理机;
所述第一性能信息是所述目标云服务器通过已建立的通信通道获取的, 所述通信通道用于跨级获取物理机的性能信息。
一种负载均衡器,至少包括处理器和存储器;所述处理器通过执行所述 存储器中存放的程序以及调用其他设备,执行上述任一项所述的负载均衡方 法。
可见,在本发明实施例中,负载均衡器会获取到综合健康信息,综合健 康信息中的数据是由云服务器所在物理机的第一性能信息,以及云服务器的 第二性能信息计算得到,或者直接包括第一性能信息和第二性能信息。
需要说明的是,在现有方式中,负载均衡器对于云服务器,特别是云服 务器所在物理主机的相关性能数据是无法感知。在本发明实施例中,则创建 了一个跨级获取物理机性能数据的通信通道,第一性能信息即由云服务器通 过该通信通道获取。从而可感知物理主机的性能。
在获取到综合健康信息后,负载均衡器会根据获得的综合健康信息评估 云服务器否健康。由于综合健康信息综合体现了云服务器自身的负载信息和 所在物理机的负载信息,后续据此进行负载均衡,可减少服务器(云服务器、 物理机)发生过载现象。
附图说明
图1为现有负载均衡过程中的健康监测示意图;
图2为现有负载均衡过程示意图;
图3为本发明实施例提供的负载均衡装置的示例性结构;
图4为本发明实施例提供的示例性应用场景;
图5为本发明实施例提供的负载均衡方法的示例性流程;
图6为本发明实施例提供的负载均衡器的一种可能的硬件结构示意图。
具体实施方式
目前在负载均衡过程中,在健康监测环节只是简单判断对应路径的业务 能否正常返回正确的代码和字段,以此作为后端服务器的健康项,在目前云 计算大型推广的背景下,服务器过载的情况经常发生。
过载情况一:
如图2所示,假定有物理机1-3,每台物理机上面各有2台云服务器。其中, 服务A占用3台,分别在物理机1、2、3上面,在图2中以A1-A3表示服务A占用 的三台云服务器;服务B占用3台,也分别在物理机1,2,3上面。在图2中以 B1-B3表示服务A占用的三台云服务器。
假定,物理机1上云服务器A1的CPU使用率非常高,达到90%,而物理机 2上云服务器A2的CPU使用率很低,只有10%。
负载均衡的健康监测若通过传统的健康监测方式,是无法感知A1、A2这 两台云服务器的相关性能指标,只可判断A1、A2是否能正常返回状态代码和 字段。这导致即使云服务器A1的CPU使用率已经非常高了,后续还会将很多 请求发送给云服务器A1,从而导致云服务器A1的CPU使用率更高(过载)。
过载情况二:
真正的CPU其实是在物理机上面,假定A1、A2两台云服务器的CPU使用 率都只有10%,但是在物理机1上,云服务器B1的CPU使用率达到了90%。由 于B1和A1都承载在物理机1,也就是共同使用物理机1的CPU,当B1负载高的 时候,A1如果不进行业务调整,那整个物理机1的CPU占用率将得不到缓解, 导致过载风险。
此时,从物理机的实际CPU使用率出发,后续对于服务A的请求,负载均 衡设备应该发送到物理机2的云服务器A2上,而并不应发送至物理机1的云服 务器A1上。
但由于现有方式无法感知物理机CPU的云服务器的性能指标,导致即使 物理服务器1的CPU使用率已经非常高了,后续还会将很多请求发送给云服务 器A1,从而导致物理服务器1的CPU使用率更高(过载)。
有鉴于此,本发明实施例提供负载均衡方法和负载均衡器,以解决服上 述问题。
本发明实施例实施的基础在于:云服务器通过已建立的通信通信获取所 在物理主机的性能信息(第一性能信息),并获取自身的性能信息(第二性 能信息)。
具体的,为获取第一性能信息和第二性能信息,可在物理机上部署第一 性能获取单元,在云服务器上部署第二性能获取单元,并且,第一性能获取 单元与第二性能获取单元之间建立有通信连接。
前述的通信通道包括第一性能获取单元、第二性能获取单元和通信连接。
请参见图3,负载均衡装置示例性的可包括:
查找单元1和评估单元2。本文后续将结合方法介绍各单元的用途。
图4示出了一种示例性应用场景:
各物理机上的云服务器中都部署有第二性能获取单元。第二性能获取单 元具体可为云服务器上安装的(虚拟)VM插件。
物理机上则部署有物理机(Phy)插件(图4中未示出)作为第一性能 获取单元。
Phy插件与VM插件之间建立有Socket连接。更具体的,Phy插件使用网桥 的IP地址作为自己的IP地址(端口任意,例如端口8888),而VM插件使用云 服务器的IP地址作为自已的IP地址(端口任意,例如端口8888)。
因此,也可说VM件的8888端口与phy插件的8888端口建立了socekt连接。
网桥与云服务器的IP地址属于同一网段,一般的,网桥占用一网段的第一 个或最后一个IP地址,其余的IP地址视情况分配给云服务器。
Phy插件可周期性或根据VM插件的请求获取物理机的第一性能信息,发 送给向所占用的端口,就会通过Socket发送至与VM插件占用的端口,VM从 而可得到第一性能信息。
除第一性能信息外,VM插件还会采集所在云服务器的第二性能信息,具 体的,可通过在云服务器中执行命令(例如sar命令)以获取收集对应的性能 信息。
负载均衡器一般会定期向云服务器发送负载均衡健康请求,云服务器中 的VM会反馈综合健康信息,用于负载均衡器评估云服务器是否健康。进而在 接收到客户端的请求时,决策将请求分配至哪一云服务器。在一些实施例中, VM插件还可根据第一性能信息和第二性能信息计算得到综合健康值,反馈给 负载均衡器。
下面将基于上述共性介绍,对本发明实施例做进一步详细说明。
请参见图5,由云服务器和负载均衡器所执行的负载均衡方法示例性地可 包括如下交互步骤:
S0:负载均衡器查找服务对应的云服务器。
查找到的云服务器可称为目标云服务器。
举例来讲,图4中的云服务器A1-A3提供服务A,负载均衡器可查找到提 供服务A所对应的云服务器包括云服务器A1-A3,这些服务器可称目标云服务 器。
在一个示例中,可由前述的查找单元1执行步骤S0。
S1:负载均衡器向目标云服务器发送负载均衡健康请求。
仍沿用前例,负载均衡器可向云服务器A1-A3发送负载均衡健康请求。
在一个示例中,可由前述的评估单元2执行步骤S1。
S2:目标云服务器采集所在物理机的第一性能信息。
需要说明的是,以图4中物理机1上的云服务器A1为例,其采集的是物 理机1的第一性能信息。
具体的,通过跨级物理机性能数据的通信通道得到第一性能信息的介绍 可参见前述记载,在此不作赘述。
上述第一性能信息示例性的包括但不限于:物理机的CPU占用率、内存 信息(内存占用率)、磁盘IO信息(例如每秒钟物理机的I/O传输总量,可 通过例如Sar-b命令获取对应的tps值)和网络带宽。
S3:目标云服务器采集自身的第二性能信息。
需要说明的是,步骤S2和S3可并行执行,也可先执行S2再执行S3, 或者先执行S3再执行S2,在此不作赘述。
第二性能信息包括:云服务器的CPU占用率、内存信息、磁盘IO和网 络带宽。
第二性能信息与第一性能信息的区别在于,一个是目标云服务器的性能 信息,一个是目标云服务器所在物理机的性能信息。
仍以图4中物理机1上的云服务器A1为例,其采集的第一性能信息包括 物理机1的性能信息,采集的第二性能信息包括云服务器A1的性能信息。
同理,在物理机1上的云服务器B1采集的第一性能信息包括物理机1的 性能信息,采集的第二性能信息包括云服务器B1的性能信息。
S4:目标云服务器向负载均衡器发送综合健康信息。
在一个示例中,可由前述的第一性能获取单元向负载均衡器发送综合健 康信息,而由负载均衡器的评估单元2接收综合健康值。
本领域技术人员可灵活设计综合健康信息所包含的内容,例如,其可包 括:综合健康值,或者,第一健康值和第二健康值,或者,第一性能信息和 第二性能信息等等。
其中,综合健康值由第一健康值和第二健康值计算得到,第一健康值使 用第一性能信息计算得到,所述第二健康值使用第二性能信息计算得到。
本领域技术人员可设计目标云服务器返回第一性能信息和第二性能信息, 由负载均衡器计算出综合健康值,也可设计由上去云服务器计算并向负载均 衡器返回第一健康值和第二健康值,由负载均衡器根据第一健康值和第二健 康值计算出综合健康值,当然,也可计算由目标云服务器计算并返回综合健 康值。
综合健康值用于负载均衡器评估云服务器所提供的服务是否健康。一般 的,综合健康值的数值越大,表征云服务器的当前健康状态越差。
具体的,可将综合健康值表示为H健康,将第一健康值表示为P健康,将第 二健康值表示为V健康。
可通过如下公式计算得到H健康:
H健康=Kv*V健康+Kp*P健康;
其中,Kv为云服务器总因子,Kp为物理机总因子。Kv、Kp这两个权重值 可视实际情况进行灵活调节,在此不作赘述。
第一健康值和第二健康值的计算方式可有多种,本文后续将予以介绍。
S5:负载均衡器使用综合健康信息评估目标云服务器是否健康。
在一个示例中,可由负载均衡器的评估单元2执行步骤S5。
后续负载均衡器(的负载均衡控制单元)可根据评估结果(健康或非健 康)进行负载均衡控制。
在一个示例中,评估目标云服务器是否健康可具体包括:
对综合健康值最大或综合健康值大于预设阈值的目标云服务器所提供的 服务,得到非健康的评估结果。
举例来讲,共有云服务器6个:A1-A6,其中,A6的综合健康值最大, 则对A6所提供的服务得到非健康的评估结果,对其他目标云服务器所提供的 服务得到健康的评估结果。
或者,共有目标云服务器6个(A1-A6),其中,A1和A2的综合健康 值大于预设阈值,则对A1和A2所提供的服务得到非健康的评估结果,对其 他目标云服务器所提供的服务得到健康的评估结果。
阈值可根据需要灵活设计,在此不作赘述。
在另一个示例中,评估目标云服务器是否健康也可具体包括:
步骤A:为每一目标云服务器分配权重;
假定共有目标云服务器3个:A1-A3,其综合健康值分别为:H健康1至 H健康3,为这3个云服务器分配的权重分别为:W1-W3。
步骤B:计算各目标云服务器的综合健康值与所分配权重的积,作为加 权健康值。
沿用上例,目标云服务器A1-A3的加权健康值分别为:W1·H健康1、W2· H健康2和W3·H健康3。
在又一个示例中,针对一个目标云服务器,将其H健康值作为一个指标, 还有其他指标与之一起加权平均得到加权健康值。
步骤C:根据加权健康值评估各目标云服务器是否健康。
具体的,在一个示例中,可对加权健康值最大或加权健康值大于预设阈 值或者加权健康值超过均值一定比例的目标云服务器所提供的服务,得到非 健康的评估结果。
超过的比例可以在工程中视实际情况或经验进行调节。
被评估为非健康的云服务器也可称为非健康节点,后续,负载均衡器在 接收到客户端的请求后,不再转发到该非健康节点,可以待后续几个健康监 测周期该节点均评估为健康后,再纳入健康节点进行转发。
可见,在本发明实施例中,负载均衡器会获取到综合健康信息,综合健 康信息中的数据是由云服务器所在物理机的第一性能信息,以及云服务器的 第二性能信息计算得到,或者直接包括第一性能信息和第二性能信息。
需要说明的是,在现有方式中,负载均衡器对于云服务器,特别是云服 务器所在物理主机的相关性能数据是无法感知。在本发明实施例中,则创建 了一个跨级获取的物理机性能数据的通信通道,第一性能信息即由云服务器 通过该通信通道获取。从而可感知物理主机的性能。
在获取到综合健康信息后,负载均衡器会根据获得的综合健康信息评估 云服务器否健康。由于综合健康信息综合体现了云服务器自身的负载信息和 所在物理机的负载信息,后续据此进行负载均衡,可减少服务器(云服务器、 物理机)发生过载现象。
下面介绍第一健康值、第二健康值的示例性计算方法。
可将第一健康值表示为P健康;在一个示例中,第一健康值可通过如下公 式计算得到:
P健康=F(Pcpu)*pcpu+F(Pmem)*pmem+F(Pdiskio)*pdiskio+F(Pband)*pband;
其中,pcpu表示物理机的CPU占用率、pmem表示物理机的内存信息、 pdiskio表示物理机的磁盘IO信息、pband表示物理机的网络带宽;
F(Pcpu)表示pcpu对应的参数因子,F(Pmem)表示pmem对应的参数因子, F(Pdiskio)表示pdiskio对应的参数因子,F(Pband)表示pband对应的参数因子。
F(Vcpu)、F(Vmem)、F(Vdiskio)、F(Vband)在工程中可视实际情况进行调节。
可将第二健康值表示为V健康,在一个示例中,第二健康值可通过如下公 式计算得到:
V健康=F(Vcpu)*vcpu+F(Vmem)*vmem+F(Vdiskio)*vdiskio+F(Vband)*vband;
其中,Vcpu表示云服务器的CPU占用率、vmem表示云服务器的内存信息、 vdiskio表示云服务器的磁盘IO信息、vband表示云服务器的网络带宽;
F(Vcpu)表示Vcpu对应的参数因子,F(vmem)表示vmem对应的参数因子, F(vdiskio)表示vdiskio对应的参数因子,F(vband)表示vband对应的参数因子。
其中F(Pcpu)、F(Pmem)、F(Pdiskio)、F(Pband)在工程中视实际情况进行调 节。
下面介绍负载均衡器,图3示出了负载均衡装置一种示例性结构,包括:
查找单元1,用于查找服务对应的云服务器;查找到的云服务器为目标云 服务器;
评估单元2,用于:
向目标云服务器发送负载均衡健康请求;
接收目标云服务器返回的综合健康信息;
使用综合健康信息评估目标云服务器是否健康;
其中,综合健康信息包括综合健康值,或者第一健康值和第二健康值, 或者,目标物理机的第一性能信息和目标云服务器的第二性能信息;其中, 综合健康值由第一健康值和第二健康值计算得到;第一健康值使用第一性能 信息计算得到,第二健康值使用第二性能信息计算得到;目标物理机为云服 务器所在的物理机;
第一性能信息是目标云服务器通过已建立的通信通道获取的,通信通道 用于跨级获取物理机的性能信息。
此外,上述负载均衡装置还同时具有负载均衡控制单元:用于根据评估 结果(健康或非健康)进行负载均衡控制。
具体的,第一性能信息包括云服务器所在物理机的CPU占用率、内存信 息、磁盘IO信息和网络带宽;第二性能信息包括云服务器的CPU占用率、 内存信息、磁盘IO信息和网络带宽。
相关介绍请参见前述记载,在此不作赘述。
物理机与云服务器之间如何建立通道,如何进行数据通信可参见前述记 载,在此不作赘述。
上述综合健康值的数值越大,表征云服务器的当前健康状态越差。
在一个示例中,在评估各云服务器所提供的服务是否健康的方面,上述 所有实施例中的评估单元2可具体用于:
对综合健康值最大或综合健康值大于预设阈值的云服务器所提供的服务, 得到非健康的评估结果;
或者,
为每一云服务器分配权重;
计算各云服务器的综合健康值与所分配权重的积,作为加权健康值;
根据加权健康值评估各云服务器所提供的服务是否健康。
相关介绍请参见前述记载,在此不作赘述。
上述第一健康值可表示为P健康;
在本发明其他实施例中,第一健康值可通过如下公式计算得到:
P健康=F(Pcpu)*pcpu+F(Pmem)*pmem+F(Pdiskio)*pdiskio+F(Pband)*pband;
其中,pcpu表示物理机的CPU占用率、pmem表示物理机的内存信息、 pdiskio表示物理机的磁盘IO、pband表示物理机的网络带宽;
F(Pcpu)表示pcpu对应的参数因子,F(Pmem)表示pmem对应的参数因子, F(Pdiskio)表示pdiskio对应的参数因子,F(Pband)表示pband对应的参数因子。
上述第二健康值则可表示为V健康;
在本发明其他实施例中,第二健康值通过如下公式计算得到:
V健康=F(Vcpu)*vcpu+F(Vmem)*vmem+F(Vdiskio)*vdiskio+F(Vband)*vband;
其中,Vcpu表示云服务器的CPU占用率、vmem表示云服务器的内存信息、 vdiskio表示云服务器的磁盘IO、vband表示云服务器的网络带宽;
F(Vcpu)表示Vcpu对应的参数因子,F(vmem)表示vmem对应的参数因子, F(vdiskio)表示vdiskio对应的参数因子,F(vband)表示vband对应的参数因子。
上述综合健康值可表示为H健康;
在本发明其他实施例中,综合健康值通过如下公式计算得到:
H健康=Kv*V健康+Kp*P健康;
其中,Kv为云服务器总因子,Kp为物理机总因子。
相关介绍请参见前述记载,在此不作赘述。
图6示出了上述实施例中负载均衡器的一种可能的硬件结构示意图,包 括:总线、处理器1、存储器2、通信接口3、输入设备4和输出设备5。处 理器1、存储器2、通信接口3、输入设备4和输出设备5通过总线相互连接。
其中:
总线可包括一通路,在计算机系统各个部件之间传送信息。
处理器1可以是通用处理器,例如通用中央处理器(CPU)、网络处理 器(NetworkProcessor,简称NP)、微处理器等,也可以是特定应用集成电 路(application-specificintegrated circuit,ASIC),或一个或多个用于控制本 发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、现成可编 程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、 分立硬件组件。
存储器2中保存有执行本发明技术方案的程序或脚本,还可以保存有操 作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计 算机操作指令。脚本则通常以文本(如ASCII)保存,只在被调用时进行解释或 编译。
输入设备4可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、 摄像头、语音输入装置、触摸屏等。
输出设备5可包括允许输出信息给用户的装置,例如显示屏、扬声器等。
通信接口3可包括使用任何收发器一类的装置,以便与其他设备或通信 网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。
处理器1通过执行存储器2中所存放的程序以及调用其他设备,可实现 上述实施例提供的负载均衡器所执行的操作。
此外,图3所示的负载均衡器各单元的功能,可由前述的处理器1执行 存储器2中所存放的程序以及调用其他设备实现。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示 例的单元及模型步骤,能够以电子硬件、计算机软件或者二者的结合来实现, 为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性 地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行, 取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定 的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本 发明的范围。
结合本文中所公开的实施例描述的方法或模型的步骤可以直接用硬件、 处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存 储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可 编程ROM、寄存器、硬盘、可移动磁盘、WD-ROM、或技术领域内所公知的 任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用 本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易 见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下, 在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例, 而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种负载均衡方法,其特征在于,应用于负载均衡器,包括:
查找服务对应的云服务器;查找到的云服务器为目标云服务器;
向所述目标云服务器发送负载均衡健康请求;
接收所述目标云服务器返回的综合健康信息;
使用所述综合健康信息评估所述目标云服务器是否健康;
其中,所述综合健康信息包括综合健康值,或者第一健康值和第二健康值,或者,目标物理机的第一性能信息和所述目标云服务器的第二性能信息;其中,所述综合健康值由所述第一健康值和所述第二健康值计算得到;所述第一健康值使用所述第一性能信息计算得到,所述第二健康值使用所述第二性能信息计算得到;所述目标物理机为所述云服务器所在的物理机;
所述第一性能信息是所述目标云服务器通过已建立的通信通道获取的,所述通信通道用于跨级获取物理机的性能信息。
2.如权利要求1所述的方法,其特征在于,
所述目标物理机上部署有第一性能获取单元;
所述第一性能获取单元用于获取所述第一性能信息。
3.如权利要求2所述的方法,其特征在于,
所述目标云服务器上部署有第二性能获取单元,所述第一性能获取单元与所述第二性能获取单元之间建立有通信连接;所述通信通道包括所述第一性能获取单元、所述第二性能获取单元和所述通信连接;
所述第一性能获取单元通过所述通信连接将所述第一性能信息返回给所述第二性能获取单元。
4.如权利要求3所述的方法,其特征在于,
所述第一性能获取单元具体为部署在所述目标物理机中的物理机Phy插件;
所述第二性能获取单元具体为部署在所述目标云服务器上的虚拟VM插件;
所述VM插件和所述Phy插件之间建立有Socket连接;所述VM插件使用的IP地址为所述云服务器的IP地址,所述Phy插件使用的IP地址为所述目标物理机的网桥的IP地址;所述云服务器的IP地址与所述网桥的IP地址属于同一网段;
所述Phy插件通过所述Socket连接将所述第一性能信息返回给所VM插件。
5.如权利要求4所述的方法,其特征在于,
所述VM插件是在所述目标物理机上部署所述目标云服务器后,部署在所述目标云服务器中的;或者,所述VM插件是所述目标云服务器首次接收到负载均衡健康请求,在所述目标云服务器中创建的;
所述Phy插件预先部署于所述目标物理机中。
6.如权利要求1所述的方法,其特征在于,
所述综合健康值的数值越大,表征所述云服务器的当前健康状态越差;
所述评估各云服务器所提供的服务是否健康包括:
对综合健康值最大或综合健康值大于预设阈值的云服务器所提供的服务,得到非健康的评估结果;
或者,
为每一云服务器分配权重;
计算各云服务器的综合健康值与所分配权重的积,作为加权健康值;
根据所述加权健康值评估各云服务器所提供的服务是否健康。
7.如权利要求1所述的方法,其特征在于,
所述第一性能信息包括云服务器所在物理机的CPU占用率、内存信息、磁盘IO信息和网络带宽;
所述第二性能信息包括云服务器的CPU占用率、内存信息、磁盘IO信息和网络带宽。
8.如权利要求7所述的方法,其特征在于,
所述第一健康值表示为P健康;
所述第一健康值通过如下公式计算得到:
P健康=F(Pcpu)*pcpu+F(Pmem)*pmem+F(Pdiskio)*pdiskio+F(Pband)*pband;
其中,pcpu表示所述物理机的CPU占用率、pmem表示所述物理机的内存信息、pdiskio表示所述物理机的磁盘IO、pband表示所述物理机的网络带宽;
F(Pcpu)表示所述pcpu对应的参数因子,F(Pmem)表示所述pmem对应的参数因子,F(Pdiskio)表示所述pdiskio对应的参数因子,F(Pband)表示所述pband对应的参数因子;
所述第二健康值表示为V健康;
所述第二健康值通过如下公式计算得到:
V健康=F(Vcpu)*vcpu+F(Vmem)*vmem+F(Vdiskio)*vdiskio+F(Vband)*vband;
其中,Vcpu表示所述云服务器的CPU占用率、vmem表示所述云服务器的内存信息、vdiskio表示所述云服务器的磁盘IO、vband表示所述云服务器的网络带宽;
F(Vcpu)表示所述Vcpu对应的参数因子,F(vmem)表示所述vmem对应的参数因子,F(vdiskio)表示所述vdiskio对应的参数因子,F(vband)表示所述vband对应的参数因子;
所述综合健康值表示为H健康;
所述综合健康值通过如下公式计算得到:
H健康=Kv*V健康+Kp*P健康;
其中,Kv为云服务器总因子,Kp为物理机总因子。
9.一种负载均衡器,其特征在于,包括:
查找单元,用于查找服务对应的云服务器;查找到的云服务器为目标云服务器;
评估单元,用于:
向所述目标云服务器发送负载均衡健康请求;
接收所述目标云服务器返回的综合健康信息;
使用所述综合健康信息评估所述目标云服务器是否健康;
其中,所述综合健康信息包括综合健康值,或者第一健康值和第二健康值,或者,目标物理机的第一性能信息和所述目标云服务器的第二性能信息;其中,所述综合健康值由所述第一健康值和所述第二健康值计算得到;所述第一健康值使用所述第一性能信息计算得到,所述第二健康值使用所述第二性能信息计算得到;所述目标物理机为所述云服务器所在的物理机;
所述第一性能信息是所述目标云服务器通过已建立的通信通道获取的,所述通信通道用于跨级获取物理机的性能信息。
10.一种负载均衡器,其特征在于,至少包括处理器和存储器;所述处理器通过执行所述存储器中存放的程序以及调用其他设备,执行如权利1-8任一项所述的负载均衡方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010608909.0A CN111787095A (zh) | 2020-06-29 | 2020-06-29 | 负载均衡方法和负载均衡器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010608909.0A CN111787095A (zh) | 2020-06-29 | 2020-06-29 | 负载均衡方法和负载均衡器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111787095A true CN111787095A (zh) | 2020-10-16 |
Family
ID=72761124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010608909.0A Pending CN111787095A (zh) | 2020-06-29 | 2020-06-29 | 负载均衡方法和负载均衡器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111787095A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005008943A2 (en) * | 2003-07-18 | 2005-01-27 | Vormetric, Inc. | System and methods of cooperatively load-balancing clustered servers |
US20060259680A1 (en) * | 2005-05-11 | 2006-11-16 | Cisco Technology, Inc. | Virtualization engine load balancing |
US20110106949A1 (en) * | 2009-10-30 | 2011-05-05 | Cisco Technology, Inc. | Balancing Server Load According To Availability Of Physical Resources |
CN105049536A (zh) * | 2015-09-08 | 2015-11-11 | 南京大学 | IaaS云环境中的负载均衡系统和负载均衡方法 |
CN105516369A (zh) * | 2016-02-04 | 2016-04-20 | 城云科技(杭州)有限公司 | 视频云平台负载均衡方法及视频云平台负载均衡调度器 |
WO2018107382A1 (zh) * | 2016-12-14 | 2018-06-21 | 华为技术有限公司 | 分布式负载均衡系统、健康检查方法和服务节点 |
-
2020
- 2020-06-29 CN CN202010608909.0A patent/CN111787095A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005008943A2 (en) * | 2003-07-18 | 2005-01-27 | Vormetric, Inc. | System and methods of cooperatively load-balancing clustered servers |
US20060259680A1 (en) * | 2005-05-11 | 2006-11-16 | Cisco Technology, Inc. | Virtualization engine load balancing |
US20110106949A1 (en) * | 2009-10-30 | 2011-05-05 | Cisco Technology, Inc. | Balancing Server Load According To Availability Of Physical Resources |
CN102667723A (zh) * | 2009-10-30 | 2012-09-12 | 思科技术公司 | 根据物理资源的可用性来均衡服务器负荷 |
CN105049536A (zh) * | 2015-09-08 | 2015-11-11 | 南京大学 | IaaS云环境中的负载均衡系统和负载均衡方法 |
CN105516369A (zh) * | 2016-02-04 | 2016-04-20 | 城云科技(杭州)有限公司 | 视频云平台负载均衡方法及视频云平台负载均衡调度器 |
WO2018107382A1 (zh) * | 2016-12-14 | 2018-06-21 | 华为技术有限公司 | 分布式负载均衡系统、健康检查方法和服务节点 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9246840B2 (en) | Dynamically move heterogeneous cloud resources based on workload analysis | |
US7587492B2 (en) | Dynamic performance management for virtual servers | |
CN110795203B (zh) | 资源调度方法、装置、系统和计算设备 | |
WO2016134542A1 (zh) | 虚拟机的迁移方法、装置及设备 | |
US9229778B2 (en) | Method and system for dynamic scaling in a cloud environment | |
EP3754915A1 (en) | Data processing method, apparatus and system | |
CN102187315A (zh) | 在虚拟环境中获取用于服务器负载均衡的反馈信息的方法和装置 | |
CN110365748A (zh) | 业务数据的处理方法和装置、存储介质及电子装置 | |
CN112506643A (zh) | 一种分布式系统的负载均衡方法、装置及电子设备 | |
JP2012079242A (ja) | 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム | |
CN110855741B (zh) | 业务的自适应接入方法和装置、存储介质、电子装置 | |
CN109842518B (zh) | 内容分发网络容灾方法、装置、计算机设备及存储介质 | |
CN111338750A (zh) | 执行节点的压力调节方法、装置、服务器及存储介质 | |
US9501321B1 (en) | Weighted service requests throttling | |
CN113268329A (zh) | 一种请求调度方法、装置及存储介质 | |
CN113315825A (zh) | 分布式请求的处理方法、装置、设备及存储介质 | |
CN112118314A (zh) | 负载均衡方法和装置 | |
CN106201711B (zh) | 一种任务处理方法及服务器 | |
US10616081B2 (en) | Application aware cluster monitoring | |
CN110995802A (zh) | 任务的处理方法和装置、存储介质及电子装置 | |
CN108200185B (zh) | 一种实现负载均衡的方法及装置 | |
US20200314019A1 (en) | Managing bandwidth based on user behavior | |
CN111787095A (zh) | 负载均衡方法和负载均衡器 | |
WO2017071780A1 (en) | Methods and systems of mapping virtual machine communication paths | |
CN113746920B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201016 |
|
RJ01 | Rejection of invention patent application after publication |