一种面向云计算的负载均衡系统及机制的制作方法

文档序号:7861172阅读:173来源:国知局
专利名称:一种面向云计算的负载均衡系统及机制的制作方法
技术领域
本发明涉及云计算技术领域,特指一种面向云计算的负载均衡系统及机制。
背景技术
IaaS云计算平台IaaS整合分布式计算、网络计算、虚拟化等技术,提供统一的计算、网络、存储的资源,以虚拟机的形式提供给用户使用。对应用程序而言,以往部署在物理机上,现在直接由云平台统一管理,以虚拟机的形式提供应用程序部署环境。IaaS —般会开放服务访问接口,使得用户控制虚拟机的创建、删除、停止、启动。负载均衡(集群)应用程序部署到单台服务器上,随着用户量的不断增加,负载压力也不断增加。提高服务器的配置是解决问题的一种方法,但单台服务器的服务能力总会有极限;此时增加服务器数量是一种节约成本,行之有效的解决方法。负载均衡技术就是这 种方法。通过前端的负载均衡器,将后端的应用服务器组成集群,通过增加/减少机器的数量达到应用伸缩的效果,即使面对百万,及至千万级的用户都不成问题。目前云计算技术的一个好处可以有效的解决服务器利用率低的问题,对应用程序不需要再以物理服务器为单位分配资源,在需要时可以直接创建虚拟机为应用程序提供部署,在不需要时可以删除虚拟机,释放服务器资源。而负载均衡技术可以有效解决大用户量应用程序苛刻的运行环境。无论部署环境是物理机还是虚拟机,负载均衡技术都有一定的部署难度,自动化程度不高,更多需要系统管理员一步一步地按需求进行配置,部署。应用用户量大时,需要手动增加服务器;用户量降低后,同样需要手动撤掉某台服务器,再将它分配另外的应用。很难做到自动化、智能化。

发明内容
本发明解决的技术问题之一是针对负载均衡应用集群部署慢,负载探测与状态反馈不及时的问题,提出一种面向云计算的基于双向通信的负载均衡系统。本发明解决的技术问题之二是针对负载均衡应用集群部署慢,负载探测与状态反馈不及时的问题,提出一种面向云计算的基于双向通信的负载均衡机制。本发明解决上述技术问题之一的技术方案是包括有IaaS服务平台和负载均衡服务器;所述的IaaS服务平台是虚拟机服务的提供者,对外开放接口让负载均衡服务器实现对虚拟机的创建、删除、停止、启动等控制虚拟机本身的操作;所述的负载均衡服务器,负责负载探测与状态反馈,通过调用IaaS服务平台的接口进行应用服务器数量的增减,以到达负载均衡的效果。所述的IaaS服务平台包括有前端服务器虚拟机和应用服务器虚拟机;前端服务器虚拟机,在负载均衡中作为统一的前端接收所有来自客户端的请求,并根据预设的负载均衡策略分发到后端的应用服务器虚拟机;
应用服务器虚拟机,在负载均衡中作为负载的承担方,接收来自于前端服务器分发的请求,并实际处理客户的请求。所述的负载均衡服务器包括IaaS适配器、虚拟机反馈接收模块和虚拟机负载轮询模块;IaaS适配器负责把对负载能力调整的调度命令转化为对IaaS的操作命令;对负载能力调整的命令指的是要提高负载能力或降低负载能力;对IaaS的操作命令指的是要增加应用服务器虚拟机的数量或减少应用服务器虚拟机的数量;虚拟机反馈接收模块负责接收来自虚拟机的状态变化的命令,更新负载均衡服务器中的应用服务器虚拟机状态列表,并根据反馈作出调整;虚拟机状态变化的命令包括虚拟机从创建到启动完毕的状态变化过程以及虚拟机中的应用服务器从启动到初始化完毕加入应用集群的状态变化过程;虚拟机负载轮询模块负责定时询问所有应用服务器虚拟机的负载信息,负载信息 包括虚拟机的CPU、内存、带宽的压力量化信息;并根据负载信息决定是否下发给IaaS服务平台一个负载均衡能力调整的命令以及下发何种调整命令。所述的IaaS服务平台对外开放接口由IaaS控制器实现,提供对虚拟机的创建、删除、停止、启动等操作。所述的IaaS服务平台的应用服务器虚拟机包括虚拟机状态反馈模块和虚拟机负载获取模块;虚拟机状态反馈模块负责实时向负载均衡服务器一端的虚拟机反馈接收模块发送状态变化的信息;虚拟机负载获取模块负责获取虚拟机自身的负载信息,包括虚拟机的CPU、内存、带宽的压力信息,并返回给负载均衡服务器一端的虚拟机负载轮询模块。本发明解决上述技术问题之二的技术方案是使用双向通信的方式建立虚拟机与负载均衡服务器之间的负载探测与状态反馈机制,实现虚拟机状态的及时反馈和处理,通过增减应用服务器的数量实现应用的负载均衡。是通过增减应用服务器虚拟机的数量来达到负载均衡的效果;应用服务器虚拟机作为双向通信的一方,一方面负责把虚拟机的状态信息,包括启动完毕的状态信息以及应用服务器软件初始化完毕的状态信息,发送到负责均衡服务器;另一方面接收来自于负载均衡服务器的轮询,定期获取虚拟机本身的负载信息,作为响应信息反馈到负载均衡服务器。负载均衡的具体步骤如下第I步,通过IaaS服务平台创建一个新的应用服务器虚拟机镜像,镜像具有一个虚拟机状态反馈模块和一个虚拟机负载获取模块,并且设置此两种模块开机运行;第2步,运行负载均衡服务器;第3步,通过IaaS服务平台,使用此虚拟机镜像创建一个具有一前端服务器和多应用服务器的虚拟集群应用;第4步,虚拟机状态反馈机制的两个模块虚拟机状态反馈模块以及虚拟机反馈接收模块相互进行通信,建立起应用服务器虚拟机状态列表;
第5步,虚拟机负载探测机制的两个模块虚拟机负载轮询模块以及虚拟机负载获取模块相互通信,不断更新应用服务器虚拟机的负载信息;随着,虚拟集群应用的负载不断增加,虚拟机负载探测机制探测到了整个集群的负载超过了最高负荷,需要增加虚拟机的数量以提高整个集群的负载能力时,虚拟机负责轮询模块向IaaS服务发送创建新的应用服务器虚拟机命令;新的应用服务器虚拟机创建完成后,通过虚拟机状态反馈模块发送启动完毕的状态信息到虚拟机反馈接收模块,负载均衡服务器把此虚拟机列入就绪列表;新的应用服务器虚拟机中的应用服务器初始化完毕后,通过虚拟机状态反馈模块发送初始化完毕的状态信息到虚拟机反馈接收模块,负载均衡服务其把此虚拟机列入运行列表;反之,随着虚拟集群应用的负载降低,负载均衡服务器可以根据同样的机制作出调整。本发明使用双向通信的方式建立虚拟机与负载均衡服务器之间的负载探测与状态反馈机制,实现了虚拟机状态的及时反馈和处理;实现了虚拟机的自动化、智能化部署。


下面结合附图对本发明进一步说明 图I是本发明基于双向通信的负载均衡机制示意图;图2是本发明用户实例的示意图。
具体实施例方式如图I所示,本发明的负载均衡服务器,包括一个IaaS适配器,一个虚拟机反馈接收模块和一个虚拟机负载轮询模块。IaaS适配器负责把对负载能力调整的调度命令转化为对IaaS的操作命令。对负载能力调整的命令指的是要提高负载能力或降低负载能力;对IaaS的操作命令指的是要增加应用服务器虚拟机的数量或减少应用服务器虚拟机的数量。虚拟机反馈接收模块负责接收来自虚拟机的状态变化的命令,更新负载均衡服务器中的应用服务器虚拟机状态列表,并根据反馈作出调整。虚拟机状态变化的命令包括虚拟机从创建到启动完毕的状态变化过程以及虚拟机中的应用服务器从启动到初始化完毕加入应用集群的状态变化过程。虚拟机负载轮询模块负责定时询问所有应用服务器虚拟机的负载信息。负载的信息,包括虚拟机的CPU、内存、带宽的压力量化信息,并根据负载信息决定是否下发给IaaS服务一个负责均衡能力调整的命令以及下发何种调整命令。前端服务器虚拟机在负载均衡中作为统一的前端接收所有来自客户端的请求,并根据预设的负载均衡策略分发到后端的应用服务器虚拟机,由后端的应用服务器虚拟机来实际处理客户的请求,通过这种分担的方式达到负载均衡的效果。一般由Apache和Ngnix服务器来承载此种服务。应用服务器虚拟机在负载均衡在作为负载的承担方,接收来自于前端服务器分发的请求。本发明核心思想是通过增减此种虚拟机的数量来达到负载均衡的效果。作为双向通信的一方,一方面负责把虚拟机的状态信息,包括启动完毕的状态信息以及应用服务器软件初始化完毕的状态信息,发送到负责均衡服务器,另一方面接收来自负载均衡服务器的轮询,定期获取虚拟机本身的负载信息,作为响应信息反馈到负载均衡服务器。
具体包括以下步骤第I步,通过IaaS服务创建一个新的应用服务器虚拟机镜像,镜像具有一个虚拟机状态反馈模块和一个虚拟机负载获取模块,并且设置此两种模块开机运行。第2步,运行负载均衡服务器。第3步,通过IaaS服务,使用此虚拟机镜像创建一个具有一前端服务器多应用服务器的虚拟集群应用。第4步,虚拟机状态反馈机制的两个模块虚拟机状态反馈模块以及虚拟机反馈接收模块相互进行通信,建立起应用服务器虚拟机状态列表。第5步,虚拟机负载探测机制的两个模块虚拟机负载轮询模块以及虚拟机负载获取模块相互通信,不断更新应用服务器虚拟机的负载信息。随着,虚拟集群应用的负载不断增加,虚拟机负载探测机制探测到了整个集群的负载超过了最高负荷,需要增加虚拟机的数量以提高整个集群的负载能力,虚拟机负责轮询模块向IaaS服务发送创建新的应用 服务器虚拟机命令;新的应用服务器虚拟机创建完成后,通过虚拟机状态反馈模块发送启动完毕的状态信息到虚拟机反馈接收模块,负载均衡服务器把此虚拟机列入就绪列表;新的应用服务器虚拟机中的应用服务器初始化完毕后,通过虚拟机状态反馈模块发送初始化完毕的状态信息到虚拟机反馈接收模块,负载均衡服务其把此虚拟机列入运行列表。反之,随着虚拟集群应用的负载降低,负载均衡服务器可以根据同样的机制作出调整。具体而言,本发明方法可有多种实现,本部分将介绍一种实现方式。参见图2,本发明一种面向云计算的负载均衡系统及机制的具体应用步骤如下第I步,规定虚拟机状态反馈机制采用Http协议通信,因为负载均衡服务器需要与多个应用服务器虚拟机之间通信,采用Http可以避免长连接,减少通信开销。虚拟机负载探测机制采用SNMP协议通信,因为此协议可以通过广播的方式进行轮询,无需与每台虚拟机都建立连接。通过G-Cloud服务创建一个新的应用服务器虚拟机镜像,镜像中的虚拟机状态反馈使用HttpSever (Tomcat)实现,虚拟机负载获取模块使用SNMP Client实现,并且设置此两种模块开机运行。第2步,运行负载均衡服务器,负载均衡服务器上的虚拟机反馈接收模块采用HttpClient实现,虚拟机负载轮询模块采用SNMP Manager工具实现。第3步,通过G-Cloud服务,并通过typica软件调用RunInstances接口使用此虚拟机镜像创建一个具有一前端服务器多应用服务器的虚拟集群应用。第4步,负载均衡器上的HttpClient向虚拟机发送请求,虚拟机上的HttpServer作出响应以确认虚拟机已经启动并初始化完毕,建立起应用服务器虚拟机状态列表。第5步,负载均衡服务器上的SNMP Manager发送广播请求获得负载信息,虚拟机上的SNMP Client应答后,负载均衡服务器开始收集所有虚拟机的负载信息。随着,虚拟集群应用的负载不断增加,负载均衡服务器探测到了整个集群的负载超过了最高负荷,需要增加虚拟机的数量以提高整个集群的负载能力,调用typica软件向G-Cloud服务发送创建新的应用服务器虚拟机命令Runlnstances ;新的应用服务器虚拟机创建完成后,通过虚拟机的HttpServer发送启动完毕的状态信息到负载均衡服务器,负载均衡服务器把此虚拟机列入就绪列表;新的应用服务器虚拟机中的应用服务器初始化完毕后,通过虚拟机的HttpServer发送初始化完毕的状态信息到负载均衡服务器,负载均衡服务其把此虚拟机列入运行列表。反之,随着虚拟集群应用的负载降低,负载均衡服务器可以根据同样的机制调 用EC2的TerminateInstances接口关闭虚拟机作出调整。
权利要求
1.一种面向云计算的负载均衡系统,其特征在于包括有IaaS服务平台和负载均衡服务器;所述的IaaS服务平台是虚拟机服务的提供者,对外开放接ロ让负载均衡服务器实现对虚拟机的创建、删除、停止、启动等控制虚拟机本身的操作;所述的负载均衡服务器,负责负载探测与状态反馈,通过调用IaaS服务平台的接ロ进行应用服务器数量的增减,以到达负载均衡的效果。
2.根据权利要求I所述的负载均衡系统,其特征在于所述的IaaS服务平台包括有前端服务器虚拟机和应用服务器虚拟机;前端服务器虚拟机,在负载均衡中作为统ー的前端接收所有来自客户端的请求,井根据预设的负载均衡策略分发到后端的应用服务器虚拟机;应用服务器虚拟机,在负载均衡中作为负载的承担方,接收来自于前端服务器分发的请求,并实际处理客户的请求。
3.根据权利要求I所述的负载均衡系统,其特征在于所述的负载均衡服务器包括IaaS适配器、虚拟机反馈接收模块和虚拟机负载轮询模块;IaaS适配器负责把对负载能力调整的调度命令转化为对IaaS的操作命令;对负载能力调整的命令指的是要提高负载能力或降低负载能力;对IaaS的操作命令指的是要增加应用服务器虚拟机或减少应用服务器虚拟机;虚拟机反馈接收模块负责接收来自虚拟机的状态变化的命令,更新负载均衡服务器中的应用服务器虚拟机状态列表,井根据反馈作出调整;虚拟机状态变化的命令包括虚拟机从创建到启动完毕的状态变化过程以及虚拟机中的应用服务器从启动到初始化完毕加入应用集群的状态变化过程;虚拟机负载轮询模块负责定时询问所有应用服务器虚拟机的负载信息,负载的信息包括虚拟机的CPU、内存、带宽的压力量化信息;井根据负载信息决定是否下发给IaaS服务平台一个负载均衡能力调整的命令以及下发何种调整命令。
4.根据权利要求2所述的负载均衡系统,其特征在于所述的负载均衡服务器包括IaaS适配器、虚拟机反馈接收模块和虚拟机负载轮询模块;IaaS适配器负责把对负载能力调整的调度命令转化为对IaaS的操作命令;对负载能力调整的命令指的是要提高负载能力或降低负载能力;对IaaS的操作命令指的是要增加应用服务器虚拟机的数量或减少应用服务器虚拟机的数量;虚拟机反馈接收模块负责接收来自虚拟机的状态变化的命令,更新负载均衡服务器中的应用服务器虚拟机状态列表,井根据反馈作出调整;虚拟机状态变化的命令包括虚拟机从创建到启动完毕的状态变化过程以及虚拟机中的应用服务器从启动到初始化完毕加入应用集群的状态变化过程;虚拟机负载轮询模块负责定时询问所有应用服务器虚拟机的负载信息,负载信息包括虚拟机的CPU、内存、带宽的压力量化信息;井根据负载信息决定是否下发给IaaS服务平台一个负载均衡能力调整的命令以及下发何种调整命令。
5.根据权利要求I至4任一项所述的负载均衡系统,其特征在于所述的IaaS服务平台对外开放接ロ由IaaS控制器实现,提供对虚拟机的创建、删除、停止、启动等操作。
6.根据权利要求I至4任一项所述的负载均衡系统,其特征在于所述的IaaS服务平台的应用服务器虚拟机包括虚拟机状态反馈模块和虚拟机负载获取模块;虚拟机状态反馈模块负责实时向负载均衡服务器一端的虚拟机反馈接收模块发送状态变化的信息;虚拟机负载获取模块负责获取虚拟机自身的负载信息,包括虚拟机的CPU、内存、带宽的压カ信息,并返回给负载均衡服务器一端的虚拟机负载轮询模块。
7.根据权利要求5所述的负载均衡系统,其特征在于所述的IaaS服务平台的应用服务器虚拟机包括虚拟机状态反馈模块和虚拟机负载获取模块;虚拟机状态反馈模块负责实时向负载均衡服务器一端的虚拟机反馈接收模块发送状态变化的信息;虚拟机负载获取模块负责获取虚拟机自身的负载信息,包括虚拟机的CPU、内存、带宽的压カ信息,并返回给负载均衡服务器一端的虚拟机负载轮询模块。
8.权利要求I至7任一项负载均衡系统所述的负载均衡机制,其特征在于使用双向通信的方式建立虚拟机与负载均衡服务器之间的负载探测与状态反馈机制,实现虚拟机状态的及时反馈和处理,通过增减应用服务器的数量实现应用的负载均衡。
9.根据权利要求8所述的负载均衡机制,其特征在于是通过增减应用服务器虚拟机的数量来达到负载均衡的效果;应用服务器虚拟机作为双向通信的一方,一方面负责把虚拟机的状态信息,包括启动完毕的状态信息以及应用服务器软件初始化完毕的状态信息,发送到负责均衡服务器;另一方面接收来自负载均衡服务器的轮询,定期获取虚拟机本身的负载信息,作为响应信息反馈到负载均衡服务器。
10.根据权利要求8或9所述的负载均衡机制,其特征在于负载均衡的具体步骤如下第I步,通过IaaS服务平台创建ー个新的应用服务器虚拟机镜像,镜像具有一个虚拟机状态反馈模块和一个虚拟机负载获取模块,并且设置此两种模块开机运行;第2步,运行负载均衡服务器;第3步,通过IaaS服务平台,使用此虚拟机镜像创建ー个具有一前端服务器和多应用服务器的虚拟集群应用;第4步,虚拟机状态反馈机制的两个模块虚拟机状态反馈模块以及虚拟机反馈接收模块相互进行通信,建立起应用服务器虚拟机状态列表;第5步,虚拟机负载探測机制的两个模块虚拟机负载轮询模块以及虚拟机负载获取模块相互通信,不断更新应用服务器虚拟机的负载信息;随着,虚拟集群应用的负载不断增カロ,虚拟机负载探測机制探測到了整个集群的负载超过了最高负荷,需要増加虚拟机的数量以提高整个集群的负载能力时,虚拟机负责轮询模块向IaaS服务发送创建新的应用服务器虚拟机命令;新的应用服务器虚拟机创建完成后,通过虚拟机状态反馈模块发送启动完毕的状态信息到虚拟机反馈接收模块,负载均衡服务器把此虚拟机列入就绪列表;新的应用服务器虚拟机中的应用服务器初始化完毕后,通过虚拟机状态反馈模块发送初始化完毕的状态信息到虚拟机反馈接收模块,负载均衡服务其把此虚拟机列入运行列表;反之,随着虚拟集群应用的负载降低,负载均衡服务器可以根据同样的机制作出调整。
全文摘要
本发明涉及云计算技术领域,特指一种面向云计算的负载均衡系统及机制。本发明使用双向通信的方式建立虚拟机与负载均衡服务器之间的负载探测与状态反馈机制,实现虚拟机状态的及时反馈和处理,通过增减应用服务器的数量实现应用的负载均衡。本发明针对一前端服务器多应用服务器的虚拟集群,通过增减应用服务器的数量实现应用的负载均衡效果;实现了云计算应用的弹性化;可以应用于云计算的负载均衡中。
文档编号H04L29/08GK102833355SQ20121035678
公开日2012年12月19日 申请日期2012年9月22日 优先权日2012年9月22日
发明者莫展鹏, 刘甜甜, 岳强, 季统凯 申请人:广东电子工业研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1