学科分类
目录
Spring Cloud

什么是负载均衡

负载均衡是高可用网络基础架构的一个关键组成部分,有了负载均衡,我们通常可以将我们的应用服务器部署多台,然后通过负载均衡将用户的请求分发到不同的服务器用来提高网站、应用、数据库或其他服务的性能以及可靠性。

下面看一个不使用负载均衡的Web架构,如图1所示。

图1 不使用负载均衡的Web架构

在图1中,客户端之间通过网络与Web服务端相连,假想如果Web服务器宕机,那么用户访问网站时将得不到任何响应,出现单点故障问题。即使服务器可以正常工作,如果很多用户同时访问服务器,超过服务器的处理能力,那么会出现响应速度慢或者无法连接的情况,这也是用户无法接受的。

引入负载均衡可以有效解决上述问题,它可以将负载(工作任务)进行平衡、分摊到多个执行单元上运行。例如,Web服务器、FTP服务器、企业关键应用服务器和其他主要任务服务器等,协同完成工作任务。

负载均衡分为硬件负载均衡和软件负载均衡两种,具体介绍如下:

● 硬件负载均衡的解决方案就是直接在服务器和外部网络间安装负载均衡设备,通常这种设备称为负载均衡器。由专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量统计,可达到最佳的负载均衡效果。

● 软件负载均衡的解决方案是指在一台或多台服务器相应的操作系统上安装一个或多个附加软件来实现负载均衡,如DNS Load Balance,CheckPoint Firewall-1 ConnectControl等,它的优点是基于特定环境,配置简单,使用灵活,成本低廉,可以满足一般的负载均衡需求。

无论哪种负载均衡策略,都是为了系统高可用、缓解网络压力以及扩容机器处理能力。下面看一个使用负载均衡的Web架构,具体如图2所示。

图2 负载均衡的Web架构

在图2中,负载均衡器会维护一个可用的服务清单,通过心跳检测来剔除故障的服务端节点以保证服务器清单中都是可以正常访问的服务器。当客户端借助网络发送请求到负载均衡器时,负载均衡器会按照某种算法,从维护的服务清单里面选择一个服务器,并将客户端请求转发到指定的服务器,从而提高系统的可用性和稳定性。

点击此处
隐藏目录