CN103957246B - 基于租户感知的动态负载均衡方法及*** - Google Patents

基于租户感知的动态负载均衡方法及*** Download PDF

Info

Publication number
CN103957246B
CN103957246B CN201410163481.8A CN201410163481A CN103957246B CN 103957246 B CN103957246 B CN 103957246B CN 201410163481 A CN201410163481 A CN 201410163481A CN 103957246 B CN103957246 B CN 103957246B
Authority
CN
China
Prior art keywords
request
application server
tenant
server
cluster
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
CN201410163481.8A
Other languages
English (en)
Other versions
CN103957246A (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.)
GCI Science and Technology Co Ltd
Original Assignee
GCI Science and Technology 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 GCI Science and Technology Co Ltd filed Critical GCI Science and Technology Co Ltd
Priority to CN201410163481.8A priority Critical patent/CN103957246B/zh
Publication of CN103957246A publication Critical patent/CN103957246A/zh
Application granted granted Critical
Publication of CN103957246B publication Critical patent/CN103957246B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种基于租户感知的动态负载均衡方法及***,所述方法包括以下步骤:接收客户端的请求,并提取该请求中的租户ID信息;根据所述租户ID信息将所述请求发送到对应的服务器集群中,并计算该服务器集群中正在处理的请求数;判断所述请求数是否大于第一预设阈值;若是,则通过对接IaaS平台创建新的应用服务器;将新创建的应用服务器加入到所述服务器集群中,通过自动脚本从配置文件仓库中加载所需要的配置文件到新创建的应用服务器,并触发同步操作,将中央代码仓库中的代码签出到新创建的应用服务器,并在完成新创建的应用服务器应用的部署后,将所述请求转发到新创建的应用服务器上。本发明的方法及***提高了服务器资源的利用效率。

Description

基于租户感知的动态负载均衡方法及***
技术领域
本发明涉及通信技术领域,特别是涉及一种基于租户感知的动态负载均衡方法以及一种基于租户感知的动态负载均衡***。
背景技术
传统的负载均衡方法,是通过统一的配置文件,将判断模块的请求路由到指定的一个服务器集群中,集群中的服务器需要预留,并完成服务器应用需要的运行时安装和部署应用。
上述方案的缺点显而易见,服务器的数量需要企业在完成开发和测试之后对客户和***的请求量做出评估,以应对***的压力。然而在大量中小企业的实际中,***的压力只有在极个别的时段才会出现高峰,企业为了应对少量的高峰,往往需要为应用服务配备冗余的服务器。这种做法造成了服务器资源的极大浪费,尤其是对于中小企业而言,服务器资源更应该讲求高效利用。
发明内容
基于此,本发明提供一种基于租户感知的动态负载均衡方法及***,能够提高服务器资源的利用效率。
为实现上述目的,本发明采用如下的技术方案:
一种基于租户感知的动态负载均衡方法,包括以下步骤:
接收客户端的请求,并提取该请求中的租户ID信息;
根据所述租户ID信息将所述请求发送到对应的服务器集群中,并计算该服务器集群中正在处理的请求数;
判断所述请求数是否大于第一预设阈值;
若是,则通过对接IaaS平台创建新的应用服务器;
将新创建的应用服务器加入到所述服务器集群中,通过自动脚本从配置文件仓库中加载所需要的配置文件到新创建的应用服务器,并触发同步操作,将中央代码仓库中的代码签出到新创建的应用服务器,并在完成新创建的应用服务器应用的部署后,将所述请求转发到新创建的应用服务器上。
一种基于租户感知的动态负载均衡***,包括:
提取模块,用于接收客户端的请求,并提取该请求中的租户ID信息;
计算模块,用于根据所述租户ID信息将所述请求发送到对应的服务器集群中,并计算该服务器集群中正在处理的请求数;
第一判断模块,用于判断所述请求数是否大于第一预设阈值;
创建模块,用于在所述第一判断模块的判断结果为是的情况下,通过对接IaaS平台创建新的应用服务器;
扩展模块,用于将新创建的应用服务器加入到所述服务器集群中,通过自动脚本从配置文件仓库中加载所需要的配置文件到新创建的应用服务器,并触发同步操作,将中央代码仓库中的代码签出到新创建的应用服务器,并在完成新创建的应用服务器应用的部署后,将所述请求转发到新创建的应用服务器上。
由以上方案可以看出,本发明的一种基于租户感知的动态负载均衡方法及***,能够自动将不同的请求转发到不同的服务器集群中,以及根据租户ID信息转发到特定的服务器集群中,这种基于租户感知的负载均衡,基于租户ID的集群划分,可以更好地管理不同请求量的租户和应用;并且本发明实现了应用服务器***和IaaS平台的对接,无需预留应用服务器的数量,在请求数达到预警值之后,通过在IaaS平台中创建出新的应用服务器并自动将应用部署于其上即可实现应用服务器的弹性扩展,极大地提高了服务器资源的利用效率。
附图说明
图1为本发明一种基于租户感知的动态负载均衡方法的流程示意图;
图2为本发明实施例中的基于租户感知的负载均衡示意图;
图3为本发明实施例中的实现动态负载均衡的示意图;
图4为本发明实施例中的动态计算请求数设计思路图;
图5为本发明实施例中的集群***的结构示意图;
图6为本发明一种基于租户感知的动态负载均衡***的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
在企业的生产环境中,Web应用***开发需要稳定高效的web应用服务器。在云计算的时代,提倡资源共享、按需分配。特别是*** app engine等应用引擎的提出,应用托管已经开始流行。本发明中应用引擎的实现,通过构建一个弹性扩展和收缩的应用服务器集群对外提供统一的应用托管服务。企业开发的应用***通过本应用托管平台进行部署,应用***运行所需要的运行时环境由应用引擎提供。***的动态体现在一个公有云环境中,所有应用可能都是共享一个应用服务的容器,内置动态负载均衡算法,在请求数达到预警值后,复制出新的应用服务器,服务器自动加入原来的集群,分流请求。平台以注册企业(或用户)作为租户,租户之间共享集群容器,同时做到应用隔离;平台提供统一后台管理入口,分布式应用服务器集群,中央管理仓库和数据库,以及租户感知的负载均衡,基于租户ID的集群划分,可以更好管理不同请求量的租户和应用。
应用服务器集群采用主从松耦合的架构,管理节点负责集群的管理(management),执行节点负责用户请求的响应(execution),通过可配置的xml文件定制负载均衡***的工作准则,***使用动态负载均衡算法判断集群中的应用服务器的负载状况,负载达到预警值时,通过对接IaaS(Infrastructure as a Service,基础设施即服务)平台创建新的应用服务器实例并部署应用,从而将判断模块的请求转发到新创建的应用服务器上,再向判断模块返回结果进行展示。当请求数下降之后,又可以通过注销IaaS平台中的部分应用服务器回收资源。这一特性可以大大提高应用***的稳定性和高可用性,以及服务器资源的利用率。
参见图1所示,一种基于租户感知的动态负载均衡方法,包括以下步骤:
步骤S101,接收客户端的请求,并提取该请求中的租户ID信息。一般的,租户ID信息会通过http头文件的形式进行传递。
步骤S102,根据所述租户ID信息将所述请求发送到对应的服务器集群中,并计算该服务器集群中正在处理的请求数。
如图2所示,服务器集群的初始化指定了不同的租户应用分布在不同的子集群中,应用在中央代码仓库中带有租户ID信息,当部署到不同的应用子集群中的时候,将租户ID信息传递给负载均衡***。当用户访问应用时,负载均衡根据提取到的目标租户ID,将请求转发到特定的服务器集群中。此方法有利于在多租户的环境中,部分企业托管的应用可能需要耗费大量硬件资源,请求数巨大,这类应用可以单独配置一个集群,来处理用户请求,与其他资源需求和请求都较少的应用隔离。
步骤S103,判断所述请求数是否大于第一预设阈值;若是则进入步骤S104,否则不需处理。
步骤S104,若步骤S103的判断结果为是,则通过对接IaaS平台创建新的应用服务器。
步骤S105,将新创建的应用服务器加入到所述服务器集群中,通过自动脚本从配置文件仓库中加载所需要的配置文件到新创建的应用服务器,并触发同步操作,将中央代码仓库中的代码签出到新创建的应用服务器,并在完成新创建的应用服务器应用的部署后,将所述请求转发到新创建的应用服务器上。
本发明实现了动态负载均衡。如图3所示,所谓动态,指的是实现了应用服务器***和IaaS的对接,无需预留应用服务器的数量,在请求数达到预警值之后,通过调用JCloud接口在IaaS环境中创建出虚拟机,虚拟机的模版创建之后,通过自动部署的脚本,安装应用服务器并在启动之后执行代码同步的操作,自动将应用部署于其上,通过负载均衡器即可将过高的请求转发到新创建的应用服务器实例中。并且,本发明在创建出新的应用服务器之后,还可以根据实时的负载情况进行收缩处理。作为一个较好的实施例,本发明在计算服务器集群中正在处理的请求数之后,还可以包括步骤如下:判断所述请求数是否小于第二预设阈值;若是,则找出IaaS平台中负载最少的应用服务器并进行注销。
另外,作为一个较好的实施例,所述计算服务器集群中正在处理的请求数的过程具体可以包括如下:
当接收收到一个请求时,通过输入仲裁器为该请求分配一个唯一的ID,并将该ID放入消息列表中;
若检测到所述请求从应用服务中得到响应,通过输出仲裁器将该请求的ID从所述消息列表中进行删除;
通过计算当前消息列表中的ID数量得到所述正在处理的请求数。
如图4所示为本发明中动态计算请求数的设计思路。***包括输入消息队列、输入消息队列和分析器三个组件。当***收到一个请求时,输入仲裁器会为消息分配一个唯一的ID,将消息ID放入消息列表中,如果请求从服务中得到响应,输出仲裁器会将此消息的ID从消息列表中删除,通过这样的方式,消息列表实际掌握了后台服务正在处理的请求的数量。并且,分析器通过定时计算消息列表的长度,并将此长度与配置中的门限值进行比对,一旦达到扩展或收缩的范围,分析器将调用JCloud的接口,对实际正在处理请求的应用服务器进行扩展或收缩操作。
作为一个较好的实施例,本发明的一种基于租户感知的动态负载均衡方法,还可以包括如下步骤:在所述服务器集群中进行管理节点和执行节点分离处理;其中,所述管理节点用于工程代码的上传下载、应用部署和应用的生命周期管理;所述执行节点用于执行并响应判断模块的请求。如图5所示,本发明充分利用应用服务器管理节点和执行节点实现前后端分离保持轻量以及高效性,负载均衡***实现应用服务器***的稳定性和高可用性,有效地解决了传统服务器单节点工作的弊端。
另外,作为一个较好的实施例,本发明中将新创建的应用服务器加入到所述服务器集群中的过程具体可以包括如下步骤:通过所述新创建的应用服务器中配置文件的设置,根据wka协议识别出加入服务器集群所使用的知名节点及其IP地址,并根据所述IP地址找到知名节点,将所述新创建的应用服务器加入到该知名节点所对应的服务器集群中。
如图5所示,负载均衡器中指定了建立的集群的基本信息,应用服务器节点通过配置文件的设置,根据wka协议识别出加入集群所使用的知名节点(well-known-node)和需要加入的集群。租户从管理节点进行应用的部署,并触发执行节点上的应用同步代理,执行节点自动从代码仓库中检出代码,完成应用在执行节点上的部署;当请求经过负载均衡的时候,通过端口的映射将请求转发到执行节点上,节点完成对请求的相应并返回给判断模块。
实施例二
本发明涉及web应用服务器集群技术,特别是对应用服务器集群的架构设计,以及可配置的基于租户感知的动态负载均衡器的实现。本发明主要关注两点:一是***的动态负载均衡能力,二是在负载均衡的集群中,实现租户感知的能力。动态负载均衡器和负载均衡器一样位于整个***的最前端,接收所有来自判断模块的请求,将接收到的请求路由到指定的子集群的执行节点中,并通过执行节点对请求进行响应;不同点在于动态负载均衡器需要通过读取配置文件提取预警数据和算法,对集群中的实例进行扩展和收缩的控制。根据这些技术要求,具体实现方法和步骤如下:
一、本发明的动态负载均衡器需要实现两个核心接口。一是集群的技术接口。二是动态扩展应用服务器的接口。
1)实现集群接口的基本原理如下:首先创建知名节点,知名节点属于某个服务器集群,其他节点通过在配置中声明这个知名节点及其IP地址,启动之后便可以根据IP找到知名节点,并加入到它所对应的集群中。在app engine中,负载均衡器便是这个知名节点,应用服务器启动后便加载配置,加入到集群中。
2)负载均衡器中需要有守护进程计算服务器实例的请求数。实现原理如图4所示。当达到预警值或小于下限值之后,动态接口需要扩展或注销应用服务器实例。动态扩展和收缩的接口实现主要使用JCloud(一套开源通用IaaS管理接口),兼容Openstack、AmazonEC2等IaaS环境。
3)静态设置集群中应用服务器的最大数量为5,最小值为1保证***运行(maxinstance=5;min instance=1;max instance=-1表示最大值不受限)。
4)基于租户感知实现的负载均衡配置,租户在应用引擎上注册将使用唯一tanantID进行标识,loadbalancer.xml中使用这个ID进行用户感知的配置。设置两个集群并部署相同的应用,处理不同租户ID范围的租户请求。域名domain.gcidesign.appengine1.com和domain.gcidesign.appengine2.com,在集群的配置文件中,会显式定义两个集群所处理的不同的租户ID,如集群1domain.gcidesign.appengine1.com可以只处理租户ID在1-10的租户的请求;集群2domain.gcidesign.appengine2.com处理剩余其他租户的请求;租户的ID会通过http头文件的形式传递给负载均衡器,进而分别处理不同的请求。
5)动态负载均衡器中定义集群中的节点如何扩展与收缩。作为初始动态算法,目前算法较为简单,可以结合预判等算法进行改进,本发明中实时计算正在处理的请求数并根据请求数进行动态扩展的实现。配置文件定义触发计算周期T、单位时间接收请求的最大数值RPS、门限值上限预警率AUR、下限提醒率ALR等参数。动态负载均衡算法是一种提前扩展,延迟收缩的集群思维。在计算请求数达到单个节点最大请求数80%的时候,新增的请求开始转发到另外的节点上,在请求小于单个节点最大请求数20%*权重因子(权重因子目前仅表示对收缩请求数的敏感度)的时候,这个节点将被注销,请求将回收到其他节点中。
上限门限值Threshold1=RPS*T*AUR;
下限门限值Threshold2=RPS*T*ALR*FACTOR;
其中FACTOR参数用于决定下限值的灵敏度,取值0-1之间。计算请求数使用队列接收经过负载均衡器的最近规定时间内的两次请求数,然后算其平均值。示例如下表:
请求周期 1 2 3 6 7 8 9
在线请求 10 1 250 200 300 15 0
假设配置的结果上限门限值200;下限为30。
***启动后,第一个时间间隔内收到10个请求,队列长度为1,平均值为5<200;***实例保持不变;
下一个时间收到1个请求,队列长度=2,平均值=5.5<200,实例保持不变;
下一个时间,队列长度=2,平均值=125.5<200,实例保持不变;
下一个时间平均值=225>200,启动扩展实例,创建新的应用服务器实例;
下一个时间平均值=250<2*200,***实例数保持不变;
下一个时间平均值30*1<157.5<2*200,***实例数保持不变;
下一个时间平均值7.5<30*1,***执行收缩的操作,注销请求最少的机器。
节点门限转发的形式,当负载均衡器接收到请求的时候,默认转发到其中的一个执行节点上,负载均衡器中有守护进程,定时计算当前整个集群中每台机器的请求数。当队列计算的结果大于负载均衡转发门限值的时候,负载均衡器将体现出动态的能力。守护进程会通过触发实例控制器调用接口在IaaS环境中创建出应用服务器并加入原来的集群中,应用服务器启动后通过自动脚本从原来的应用服务器中加载配置到本地,并触发同步操作,将代码仓库中的代码签出到本地,此时应用服务器已经完成应用的部署并运行,此后负载均衡器才开始向集群中新建的执行节点进行请求转发。
6)配置负载均衡对外暴露服务的域名地址,以便新创建的应用服务器实例启动后能发现并加入集群,所有新创建的执行节点都通过负载均衡器的域名加入到默认的集群中。
二、管理节点和执行节点分离,具体操作步骤如下:
1)在动态负载均衡器集群中有两个子域,管理域作为控制节点,控制触发代码同步信号,执行域中的执行节点是动态负载均衡器需要扩展和收缩的子域,子域分别通过mgt和worker进行标注;
2)在每个应用服务器实例中配置相应的选项,***所使用的每一个节点的配置信息,都通过事先配置好的xml或properties文件存放在配置文件主机上。新创建的执行节点启动完毕之后都自动运行自动化脚本配置以下属性:
a.应用服务器使用apache tribe集群技术,使用wka协议;
b.指定新创建的节点为执行节点,子域名为“worker”:
c.通过配置知名节点为负载均衡器,加入到集群中;
d.配置代码仓库的连接地址、用户名和密码,准备签出代码;
e.加入到集群后,接收管理域中管理节点的请求,触发签出代码的操作;
f.启动应用服务器。
三、部署中央代码管理仓库,以实现执行节点之间的应用代码同步。中央代码仓库使用SVN进行配置,指定项目在SVN的地址、用户名和密码。SVN仓库中隐含租户的ID,可以确保租户感知的能力。当新的执行节点创建后,通过自动脚本安装SVN,并从中央代码仓库中签出应用代码。
需要说明的是,本发明中有两个仓库:配置文件仓库与中央代码仓库。通过JCloud接口在Openstack等IaaS环境中创建的虚拟机实例启动后,通过新节点中的代理进程(agent process)和自动运行脚本在配置文件仓库中加载所需要的配置文件以加入集群,并通过签出中央代码仓库的代码来实现执行节点之间的应用同步。
本发明是一个多租户的应用服务器集群,属于云计算平台即服务(Platform-as-a-Service)的一部分功能实现。通过应用引擎可以部署web应用程序和web service,平台提供程序运行时的环境。企业用户以租户的形式在平台上注册使用,所有应用共享容器节省资源的开销,进程隔离保证各自应用***的安全性。
采用本发明的平台,可以实现基于服务和租户感知的动态负载均衡,一方面实现负载均衡的能力,自动将不同的请求转发到不同的应用集群中,以及根据租户的ID信息,转发到特定的租户集群中;基于租户感知的负载均衡,更有利于合理分配应用引擎的硬件资源。另一方面通过配置的方式,能够根据实时的负载情况对应用***进行弹性扩展和收缩,是对PaaS和IaaS集成的一个很好的实例。
与上述一种基于租户感知的动态负载均衡方法相对应,本发明还提供一种基于租户感知的动态负载均衡***,如图6所示,包括:
提取模块101,用于接收客户端的请求,并提取该请求中的租户ID信息;
计算模块102,用于根据所述租户ID信息将所述请求发送到对应的服务器集群中,并计算该服务器集群中正在处理的请求数;
第一判断模块103,用于判断所述请求数是否大于第一预设阈值;
创建模块104,用于在所述第一判断模块的判断结果为是的情况下,通过对接IaaS平台创建新的应用服务器;
扩展模块105,用于将新创建的应用服务器加入到所述服务器集群中,通过自动脚本从配置文件仓库中加载所需要的配置文件到新创建的应用服务器,并触发同步操作,将中央代码仓库中的代码签出到新创建的应用服务器,并在完成新创建的应用服务器应用的部署后,将所述请求转发到新创建的应用服务器上。
作为一个较好的实施例,本发明的一种基于租户感知的动态负载均衡***还可以包括:
第二判断模块,用于判断所述请求数是否小于第二预设阈值;
收缩模块,用于在所述第二判断模块的判断结果为是的情况下,找出IaaS平台中负载最少的应用服务器并进行注销。
可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一判断模块称为第二判断模块,且类似地,可将第二判断模块称为第一判断模块。第一判断模块和第二判断模块两者都是判断模块,但其不是同一判断模块。
作为一个较好的实施例,所述计算模块可以包括:
ID分配模块,用于当接收收到一个请求时,通过输入仲裁器为该请求分配一个唯一的ID,并将该ID放入消息列表中;
ID删除模块,用于若检测到所述请求从应用服务中得到响应,则通过输出仲裁器将该请求的ID从所述消息列表中进行删除;
ID数量计算模块,用于通过计算当前消息列表中的ID数量得到所述正在处理的请求数。
作为一个较好的实施例,本发明的一种基于租户感知的动态负载均衡***还可以包括:
节点分离模块,用于在所述服务器集群中进行管理节点和执行节点分离处理;其中,所述管理节点用于工程代码的上传下载、应用部署和应用的生命周期管理;所述执行节点用于执行并响应判断模块的请求。
作为一个较好的实施例,所述扩展模块可以包括:
集群加入模块,用于通过所述新创建的应用服务器中配置文件的设置,根据wka协议识别出加入服务器集群所使用的知名节点及其IP地址,并根据所述IP地址找到知名节点,将所述新创建的应用服务器加入到该知名节点所对应的服务器集群中。
上述一种基于租户感知的动态负载均衡***的其它技术特征与本发明的一种基于租户感知的动态负载均衡方法相同,此处不予赘述。
由以上方案可以看出,本发明的一种基于租户感知的动态负载均衡方法及***,能够自动将不同的请求转发到不同的服务器集群中,以及根据租户ID信息转发到特定的服务器集群中,这种基于租户感知的负载均衡,基于租户ID的集群划分,可以更好地管理不同请求量的租户和应用;并且本发明实现了应用服务器***和IaaS平台的对接,无需预留应用服务器的数量,在请求数达到预警值之后,通过在IaaS平台中创建出新的应用服务器并自动将应用部署于其上即可实现应用服务器的弹性扩展,极大地提高了服务器资源的利用效率。
除非上下文另有特定清楚的描述,本发明中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本发明并不对此进行限定。本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种基于租户感知的动态负载均衡方法,其特征在于,包括以下步骤:
接收客户端的请求,并提取该请求中的租户ID信息;
根据所述租户ID信息将所述请求发送到对应的服务器集群中,并计算该服务器集群中正在处理的请求数;
判断所述请求数是否大于第一预设阈值;
若是,则通过对接IaaS平台创建新的应用服务器;
将新创建的应用服务器加入到所述服务器集群中,通过自动脚本从配置文件仓库中加载所需要的配置文件到新创建的应用服务器,并触发同步操作,将中央代码仓库中的代码签出到新创建的应用服务器,并在完成新创建的应用服务器应用的部署后,将所述请求转发到新创建的应用服务器上;
在所述服务器集群中进行管理节点和执行节点分离处理;其中,所述管理节点用于工程代码的上传下载、应用部署和应用的生命周期管理;所述执行节点用于执行并响应判断模块的请求。
2.根据权利要求1所述的基于租户感知的动态负载均衡方法,其特征在于,在计算服务器集群中正在处理的请求数之后,还包括步骤:
判断所述请求数是否小于第二预设阈值;
若是,则找出IaaS平台中负载最少的应用服务器并进行注销。
3.根据权利要求2所述的基于租户感知的动态负载均衡方法,其特征在于,所述计算服务器集群中正在处理的请求数的过程包括:
当接收收到一个请求时,通过输入仲裁器为该请求分配一个唯一的ID,并将该ID放入消息列表中;
若检测到所述请求从应用服务中得到响应,通过输出仲裁器将该请求的ID从所述消息列表中进行删除;
通过计算当前消息列表中的ID数量得到所述正在处理的请求数。
4.根据权利要求1-2任意一项所述的基于租户感知的动态负载均衡方法,其特征在于,将新创建的应用服务器加入到所述服务器集群中的过程包括:
通过所述新创建的应用服务器中配置文件的设置,根据wka协议识别出加入服务器集群所使用的知名节点及其IP地址,并根据所述IP地址找到知名节点,将所述新创建的应用服务器加入到该知名节点所对应的服务器集群中。
5.一种基于租户感知的动态负载均衡***,其特征在于,包括:
提取模块,用于接收客户端的请求,并提取该请求中的租户ID信息;
计算模块,用于根据所述租户ID信息将所述请求发送到对应的服务器集群中,并计算该服务器集群中正在处理的请求数;
第一判断模块,用于判断所述请求数是否大于第一预设阈值;
创建模块,用于在所述第一判断模块的判断结果为是的情况下,通过对接IaaS平台创建新的应用服务器;
扩展模块,用于将新创建的应用服务器加入到所述服务器集群中,通过自动脚本从配置文件仓库中加载所需要的配置文件到新创建的应用服务器,并触发同步操作,将中央代码仓库中的代码签出到新创建的应用服务器,并在完成新创建的应用服务器应用的部署后,将所述请求转发到新创建的应用服务器上;
节点分离模块,用于在所述服务器集群中进行管理节点和执行节点分离处理;其中,所述管理节点用于工程代码的上传下载、应用部署和应用的生命周期管理;所述执行节点用于执行并响应判断模块的请求。
6.根据权利要求5所述的基于租户感知的动态负载均衡***,其特征在于,还包括:
第二判断模块,用于判断所述请求数是否小于第二预设阈值;
收缩模块,用于在所述第二判断模块的判断结果为是的情况下,找出IaaS平台中负载最少的应用服务器并进行注销。
7.根据权利要求6所述的基于租户感知的动态负载均衡***,其特征在于,所述计算模块包括:
ID分配模块,用于当接收收到一个请求时,通过输入仲裁器为该请求分配一个唯一的ID,并将该ID放入消息列表中;
ID删除模块,用于若检测到所述请求从应用服务中得到响应,则通过输出仲裁器将该请求的ID从所述消息列表中进行删除;
ID数量计算模块,用于通过计算当前消息列表中的ID数量得到所述正在处理的请求数。
8.根据权利要求5-7任意一项所述的基于租户感知的动态负载均衡***,其特征在于,所述扩展模块包括:
集群加入模块,用于通过所述新创建的应用服务器中配置文件的设置,根据wka协议识别出加入服务器集群所使用的知名节点及其IP地址,并根据所述IP地址找到知名节点,将所述新创建的应用服务器加入到该知名节点所对应的服务器集群中。
CN201410163481.8A 2014-04-22 2014-04-22 基于租户感知的动态负载均衡方法及*** Active CN103957246B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410163481.8A CN103957246B (zh) 2014-04-22 2014-04-22 基于租户感知的动态负载均衡方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410163481.8A CN103957246B (zh) 2014-04-22 2014-04-22 基于租户感知的动态负载均衡方法及***

Publications (2)

Publication Number Publication Date
CN103957246A CN103957246A (zh) 2014-07-30
CN103957246B true CN103957246B (zh) 2017-03-01

Family

ID=51334469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410163481.8A Active CN103957246B (zh) 2014-04-22 2014-04-22 基于租户感知的动态负载均衡方法及***

Country Status (1)

Country Link
CN (1) CN103957246B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158911A (zh) * 2014-09-01 2014-11-19 青岛海信电器股份有限公司 一种面向服务器集群的控制方法及***

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209666B (zh) * 2015-05-07 2020-06-02 中兴通讯股份有限公司 一种基于负载均衡器的链路复用方法及***
CN106302570A (zh) * 2015-05-14 2017-01-04 阿里巴巴集团控股有限公司 一种请求处理方法及装置
CN106571943A (zh) * 2015-10-10 2017-04-19 北京国双科技有限公司 分布式架构集群扩容方法及装置
CN105868011A (zh) * 2016-03-29 2016-08-17 上海斐讯数据通信技术有限公司 一种提高软件***运行效率的方法及装置
US10153941B2 (en) * 2016-05-17 2018-12-11 Microsoft Technology Licensing, Llc Distributed operational control in computing systems
CN105959410B (zh) * 2016-06-29 2019-06-04 深圳中兴网信科技有限公司 服务器集群的负载均衡方法及负载均衡***
CN106203810B (zh) * 2016-07-01 2020-05-19 上海中传网络技术股份有限公司 基于云平台的crm数据处理方法
CN108093026B (zh) * 2017-11-17 2020-04-07 阿里巴巴集团控股有限公司 多租户请求的处理方法及装置
CN107995286B (zh) * 2017-11-30 2021-03-02 平安科技(深圳)有限公司 基于dubbo平台的服务自动启停方法、服务器及存储介质
CN110865881A (zh) * 2018-08-27 2020-03-06 中移(苏州)软件技术有限公司 一种资源调度的方法及装置
CN109582451A (zh) * 2018-11-21 2019-04-05 金色熊猫有限公司 任务调度方法、***、设备以及可读介质
CN111240749B (zh) * 2018-11-28 2023-07-21 ***通信集团浙江有限公司 一种集群***中实例的挂起控制方法、装置、设备、存储介质
CN109614241B (zh) * 2018-12-17 2024-03-12 杭州玳数科技有限公司 基于Yarn队列实现多集群多租户资源隔离的方法及***
CN109412878A (zh) * 2019-01-16 2019-03-01 紫光云数科技有限公司 多租户业务接入实现方法、装置及电子设备
CN110138862B (zh) * 2019-05-16 2022-03-04 北京字节跳动网络技术有限公司 基于应用服务的业务处理方法、装置、网关设备及介质
CN110633151B (zh) * 2019-09-20 2022-09-02 北京小米移动软件有限公司 分布式发布消息集群分区平衡的方法、装置及存储介质
CN111092816B (zh) * 2019-11-26 2022-02-15 金蝶软件(中国)有限公司 网关动态路由方法、装置、计算机设备和存储介质
CN113296931A (zh) * 2020-07-14 2021-08-24 阿里巴巴集团控股有限公司 一种资源的控制方法、***、计算设备及存储介质
CN113765966A (zh) * 2020-09-01 2021-12-07 北京沃东天骏信息技术有限公司 一种负载均衡方法和装置
CN112468313B (zh) * 2020-10-28 2023-07-07 北京思特奇信息技术股份有限公司 一种WebLogic集群快速部署的方法和***
CN114095419B (zh) * 2021-11-12 2023-11-28 软通动力信息技术(集团)股份有限公司 一种集群路由方法、装置、***及存储介质
CN114679412B (zh) * 2022-04-19 2024-05-14 浪潮卓数大数据产业发展有限公司 一种流量向业务节点的转发方法、装置、设备及介质
CN115604244A (zh) * 2022-07-01 2023-01-13 山东爱特云翔信息技术有限公司(Cn) OpenStack适配负载均衡服务的方法、***、装置及存储介质
CN118233462A (zh) * 2022-12-12 2024-06-21 华为云计算技术有限公司 流量调度方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833355A (zh) * 2012-09-22 2012-12-19 广东电子工业研究院有限公司 一种面向云计算的负载均衡***及机制
CN103533063A (zh) * 2013-10-18 2014-01-22 北京华胜天成科技股份有限公司 一种可实现web应用资源动态扩展的方法及装置
CN103546542A (zh) * 2013-09-29 2014-01-29 北京航空航天大学 服务器负载均衡方法和装置
CN103559072A (zh) * 2013-10-22 2014-02-05 无锡中科方德软件有限公司 虚拟机双向自动伸缩服务实现方法及其***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833355A (zh) * 2012-09-22 2012-12-19 广东电子工业研究院有限公司 一种面向云计算的负载均衡***及机制
CN103546542A (zh) * 2013-09-29 2014-01-29 北京航空航天大学 服务器负载均衡方法和装置
CN103533063A (zh) * 2013-10-18 2014-01-22 北京华胜天成科技股份有限公司 一种可实现web应用资源动态扩展的方法及装置
CN103559072A (zh) * 2013-10-22 2014-02-05 无锡中科方德软件有限公司 虚拟机双向自动伸缩服务实现方法及其***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158911A (zh) * 2014-09-01 2014-11-19 青岛海信电器股份有限公司 一种面向服务器集群的控制方法及***

Also Published As

Publication number Publication date
CN103957246A (zh) 2014-07-30

Similar Documents

Publication Publication Date Title
CN103957246B (zh) 基于租户感知的动态负载均衡方法及***
CN105391797B (zh) 基于sdn的云服务器负载均衡方法及装置
US9389903B2 (en) Method, system and apparatus for creating virtual machine
WO2020133967A1 (zh) 共享计算资源的调度方法、共享计算***、服务器及介质
CN105979009A (zh) 一种针对云应用容器的增加负载自动均衡方法
CN112667362B (zh) Kubernetes上部署Kubernetes虚拟机集群的方法与***
CN103620578B (zh) 经由网络分割的本地云计算
CN105743995A (zh) 一种可移植高可用部署和管理容器集群的***和方法
US10171294B2 (en) Information processing device and system design support method
WO2016037479A1 (zh) 虚拟化网络功能vnf优化方法、装置及***
CN110661842B (zh) 一种资源的调度管理方法、电子设备和存储介质
CN104618693A (zh) 一种基于云计算的监控视频在线处理任务管理方法及***
US9378039B2 (en) Virtual machine storage replication schemes
US11503109B2 (en) Processing an operation with a plurality of processing steps
CN102594861A (zh) 一种多服务器负载均衡的云存储***
CN103458055A (zh) 一种云计算平台
US11556369B2 (en) Virtual machine deployment method and OMM virtual machine
EP3442201B1 (en) Cloud platform construction method and cloud platform
CN114189525B (zh) 服务请求方法、装置和电子设备
US10761869B2 (en) Cloud platform construction method and cloud platform storing image files in storage backend cluster according to image file type
CN103595801A (zh) 一种云计算***及其虚拟机实时监控方法
CN106547790B (zh) 一种关系型数据库服务***
CN110750780B (zh) 基于多业务***的用户角色权限融合方法、装置以及设备
CN111352726B (zh) 一种基于容器化微服务的流数据处理方法及装置
CN105553732A (zh) 一种分布式网络模拟方法及***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant