当前位置:首页 期刊杂志

基于云计算的负载均衡技术的研究

时间:2024-05-04

韦宁

(广西生态工程职业技术学院图文信息中心 广西壮族自治区柳州市 545004)

云计算自出现以来,一直是被当做最核心的技术被广大企业和相关政府所关注,比如Amazon所提供的涵盖了弹性计算云EC2等一系列的云计算服务,从而完成了基础设备的按需分配、分布式计算编程等云计算的服务[1]。在商业上有所运用以外,对于政府来说云计算同样有着非常大的作用,其能够有效降低政府在信息化上的运行成本,而且云计算服务还能涉及到电力、电信等经济基础的建设当中。

不过随着云计算的发展,其规模逐渐扩大的情况下,随之而来的问题是因其应用多样性和用户需求增多,云系统中出现了许多的问题,其中之一便是负载不均衡的问题,比如其中一小部分的节点出现负载过重的情况,导致没有剩余的可用的资源。为此,引入了均衡负载技术,以此来缓解资源的紧张,提高利用率,降低成本。

1 云计算技术概念

云计算属于一种新型的计算机模式,之所以要命名为云计算,是其某些特征与真实中的云的特征有相似点,都是属于规模比较大、且可伸缩、边界不清晰等。虽说云计算已经渗入到人们的生活当中,影响着人们的生活的方方面面,在工业和经济等都有着非常重大的影响。但是,至今没有较为清晰和公认的对于云计算标准的定义。

现在主要的被广泛接受的云计算的定义有:

美国标准与技术研究院认为云计算是一种用户通过利用互联网能在任何时刻,快捷访问互联网中的共享资源[2]。

IBM的云计算白皮书中谈到云计算这一词,是用作称呼一个系统平台,在该系统的平台中服务器既可以是物理的也可以是虚拟的服务器。对于高级的计算云来说,其通常包含着的资源有:网络设备、防火墙和其它相关安全设备等[3]。

2 负载均衡技术相关理论

2.1 负载均衡技术概念

基于云计算的背景下,负载均衡技术有着两层含义,其第一层含义中负载主要体现在负载执行任务的虚拟机层当中,而另外一层则是体现在实体机层当中。

原本负载均衡技术是属于传统的集群环境的技术[4],不过在云计算当中,负载均衡技术与在传统集群中的技术是有着非常大的区别,是属于截然不同的技术,因此不能放在一起探讨[5]。集群环境中,任务调度处理单元是实际的物理主机,任务调度处理的资源是物理实体资源。如果主机配置过多,不仅会在经济上带来非常高的成本压力,而且还会因为负载低的原因导致不必要的资源被浪费,不管是会从经济层面上来说,还是从资源层面上来说,都是没有必要的;但是,如果配置的主机过少了,又会因为集群负载过高,导致超过了其可以承受的承载能力之外,这同样也会造成非常大的影响。

2.2 负载均衡技术分类

常规情况下,负载均衡技术的分类可以分为静态和动态策略两种,大家对于负载均衡技术的了解还不够深,而且在技术上还没有得到有效的突破,因此当时主要是以静态方式实现;后来随着系统规模的不断加大,任务数量越来越多,负载的情况逐渐明显,静态方式明显逐渐不适应了,因此出现了动态策略。

(1)静态策略:静态策略的方式其实非常简单,它是不会对集群服务器进行实时的检查,这就意味着当服务器中存在有负载情况的时候,静态策略是不会根据负载情况,及时对该机器减少任务量。静态策略是在任务准备开始分配之前,它就会根据每个服务器的具体的负载能力,制定好了分配方案,就是把任务数分配到每个服务器上,但是到了系统运载的时候,它是不会根据具体情况进行调整,如果一开始的分配出现了错误,就会影响到后面一系列的任务分配。虽然静态策略存在很多问题,而且面对日益增多的任务量,它已经难以适应了,不过这种策略的实现比较简单,负载均衡产生的系统额外开销小。而且对于拥有者来说,这种方式较为简单,使用起来不会太复杂。

(2)动态策略:动态负载均衡策略与静态策略最大的区别就是它能够实时监测系统的运行具体情况,还可以根据实时的动态情况来调整具体的任务分配。通过动态负载均衡策略,可以把更多的任务量分配到任务量少的服务器上,以及运行速度更快的服务器,从而平衡好各个服务器,有效防止负载情况发生。但是这种方式存在一个弊端,就是因为要实时的监测各个服务器,所以它会额外产生更多的系统开销。

其次根据负载控制方式的不同,可以分为集中式和分布式的策略,在最早的时候,因为当时的云规模较小,系统能够有效的运行,只需要通过集中式的策略可以很好的控制整个系统,但是随着信息量暴增,网上的任务量越来越多,这种集中式策略已经无法适用于当下的社会,所以因此开始转向分布式策略,如图1。

图1:分布式策略

(1)集中式策略:集中式策略中是通过总的一台服务器然后对其他机器统一进行管理,然后这个服务器就会定期的对所有的服务器进行检测,在检测完了以后会依据其结果来判定每个节点的具体情况,是否有存在负载,以及哪个服务器有更多的空闲资源可以进行更多的分配。也就是该集中式策略中,只有一个均衡器来进行任务分配,简单、高效,易于系统维护,在数据较少的时候,这种策略可以说没有缺点,它能够很好的分配好任务,但是随着数据增多,任务量加大,这种策略就显现出弊端来,因为这种策略过分依赖均衡器,所有的任务分配都挤压在一个均衡器上,随着系统规模扩大对均衡器的计算速度要求提高,在当前大数据背景下,单个硬件的计算速度远远不能满足任务请求量,负载均衡效率的提升遇到瓶颈,由于过分依赖均衡器,当均衡器失效时,会导致整个云计算系统不可用。而当下有没有足够的能力与技术,不断对均衡器进行优化与省级,而且这样的做法也并不实际,所以在这个基础之上,人们又研发出了分布式策略。

(2)分布式策略:分布式策略没有部署负载均衡器,也就是没有单独的一台均衡器来控制所有的服务器。每一台服务器都参与任务调度,通过所有的服务器都参与到任务的分配中时,从而减轻压力,与集中式策略相对来说,分布式策略能够有效降低服务器的压力。分布式策略中,每个服务器既是独立的,也是一体的,独立是它们各自接受任务的分配,不占用彼此的空间,而服务器一体指的是所有的服务器都是共通的,各自共享信息,通过信息的共享能够得知哪个服务器出现了负载情况。所以只要发现哪个服务器有可能会出现负载情况时,便能及时作出调整,所以这种系统具有良好的可扩展性。因此它比起集中式策略来说,它更加符合现代的客户需求。

3 以云计算为后台的负载均衡技术设计

之所以要在云计算当中运用负载均衡技术,就是为了考虑到云计算一旦出现负载情况时会造成非常大的不必要的浪费,因此通过负载均衡技术的应用,可以有效的节省资源,更加高效的利用资源,同时提升系统的整体性能,从而更加高效的工作,满足人们的需求。

对于传统的均衡技术来说,通常都是基于服务器的一个响应速度的快慢、连接数量的多少来使用的,虽然说通过均衡负载技术,可以有效提升系统的使用效率,避免出现负载的情况,节省资源等等。不过在使用均衡负载技术时,由于其对象粒度过大,实际的操作过程中是很难保证负载均衡的效果,还是会出现不必要的浪费。不过随着运用虚拟化技术,是能够把均衡对象的粒度变小,把资源具象化。

基于传统的IT架构的基础之上,引入了云计算系统,针对系统负载的情况进行了优化,如图2所示。

图2:云计算负载扩展技术架构

在这个云计算负载扩展技术中,本地服务器是所有用户想要查阅信息的进入端口,随着本地服务器的信息量增多,系统就会开始分析负载的情况,合理分配任务量,有效降低负载情况。

4 云计算中负载均衡技术的应用分析

在传统的方法当中,高性能计算集群是最为普遍的应用于解决公司IT性能的方式,为了能够达到提高性能的作用,提高计算效率,采用的方式是把收集到的任务根据负载情况发送到不同的计算节点上。为了能够很好的应对云计算负载的情况,可以通过搭建空闲资源池的方式来解决,就是在云计算系统中,有一个专门应对负载的空闲资源池,有了这个资源池后,系统可以更加高效的分配任务,防止负载情况发生。用户在用机器提交任务的时候,该系统会择优选择在资源池中目前对它来说最合适的一台机器,往往也就是最为空闲的机器,然后再通过远程控制的方式来把需要做的任务分发出去,这就是充分的利用资源,通过分析把最为空闲的机器利用起来,并实现资源的共享,减少机器的负载情况。

中间件的功能主要是起到统领的作用,所有参与工作的机器,都是不具备自行分析负载情况的,如果没有了中间件,机器就会不断收录信息,且不管自身是否出现了负载,当有了中间件的介入以后,它可以通过数据的分析,控制好每台机器的具体情况,针对可能会出现负载的机器会减少任务量,对于较为空闲的机器,就会加大任务量,以这样的方式来保持各个机器都能较好的运行。

5 结论

随着云计算的发展,逐渐出现了本地负载不足的情况,如果不加以重视,负载的情况会影响到云计算的资源利用率下降,因此通过负载均衡技术能够有效解决云计算负载的问题。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!