1服务器负载均衡技术介绍
大家知道,目前的处理器技术十分先进,制程不断精细(22nm,14nm……)架构不断优化,其性能也日益提升。在单个服务器中可通过扩展双路、四路甚至八路、集群等形式来获得更为强大的计算性能。但这些对于很多中小企业来说,往往受成本制约和规模的影响难以承受。
对于大企业用户而言,虽然能够承受这些大额开支,但随着业务的的发展,其某些关键业务应用还是难以获得满足。除此之外,单个服务器技术在性能方面或者整个数据中心性能支撑方面虽然可以全面满足用户需求,但还是面临着安全隐患。在这种情况下,服务器的负载均衡尤其是基于集群的负载均衡技术就应运而生了。
负载均衡 (Load Balancing)是基于网络结构提供的一种廉价、灵活可扩展服务器带宽和增加吞吐量的服务器技术。一方面,大量的高并发访问或者数据流量分担到多台节点设备分别处理,减少用户等待响应时间;另一方面,单个高度负载的运算分担到多台节点设备上做并行处理,每个节点将各自的结果返回给用户,提高整体系统的处理能力。
基于此我们可以看到,负载均衡可以加强服务器网络数据处理能力,提供网络的可用性和灵活性。对于服务器来说,可以提升其整体响应速度,提高用户体验。在负载均衡的框架下,每台服务器都具备同等地位,都可以单独提供服务而无需其他服务器的辅助。每台服务器都独立响应客户请求。
2服务器负载均衡技术分类
服务器负载均衡技术从结构上来划分的可以,可以分成本地负载均衡(Local Server Load Balancing)和全局负载均衡(Global Server Load Balancing)。
前者是对本地服务器群进行负载均衡处理,通过对服务器进行性能优化,使流量能够平均分配在服务器群中的各个服务器上,本地负载均衡技术不需要购买昂贵的服务器或优化现有的网络结构;后者则是对分布在全国各个地区的多个服务器进行负载均衡处理,通过对访问用户的IP地理位置判定,自动转向地域最近点。
全局负载均衡架构示意图
从以上我们也不难看出,本地负载均衡有利于解决数据流量过大和网络负荷过重的问题,对服务器配置性能要求不高,有利于降低投资成本,同时还可以避免服务器单点故障。全局负载均衡则可以解决网络拥塞问题,提高服务器的响应速度,提高服务器和其他IT设施的资源利用率,并减少数据中心单点故障。
另外一种划分方法则是从软硬平台来划分。也就说在负载均衡还可以被划分成软件负载均衡和硬件负载均衡技术。
软件负载均衡技术是在交互的网络系统中的多台服务器上安装一个或多个相应的负载均衡软件来实现的一种均衡负载技术。通过安装在服务器上的软件来实现均衡负载。相比之下,软件负载均衡技术成本比较低(软件授权许可),配置和操作、管理也较为方便。
硬件负载均衡技术顾名思义需要通过配备额外的负载均衡器来实现,这种设备负责在多个服务器之间实现良好的负载均衡,特别适用于流量高的大型网站系统或者电商平台系统。其优点的效果更为直观、智能,缺点是成本较高,维护起来也相当麻烦。
3服务器负载均衡策略
前面提了这么多负载均衡的众多功能和益处,那么我们如何对其进行实现呢?首先我们要采用适当的均衡策略,也就说依据什么标准来实现负载均衡,实现将业务负载分配给不同的服务器。
负载均衡策略的实现主要体现在负载均衡算法、系统检测两方面。这也是直接影响负载均衡策略优劣与否及其实现的难易程度的关键因素。
负载均衡技术主要包括轮循环均衡(Round Robin)策略、权重轮循环均衡策略、随机均衡策略、权重随机均衡策略、响应速度均衡策略、DNS响应均衡策略以及处理能力均衡、最少连接数均衡等策略。
轮循环均衡(Round Robin)策略
轮循环均衡(Round Robin)策略会把每一次网络请求轮流分配给集群中的服务器,也就说从1至n每个服务器都轮流处理一遍,然后回重新开始循环反复。在此基础上对每个服务器的处理能力的不同分别赋予不同的权值,使其能够与相应权值的服务请求相匹配,有点类似“各司其职”的味道。
而随机均衡策略按字面意思也知道是根据随机来实现均衡的。这种策略应用的并不多。权重随机均衡策略则有点类似于权重轮循策略,只是在处理请求任务的时候是随机选择的过程。