负载均衡算法的种类

1、HTTP重定向负载均衡

利用HTTP重定向协议实现负载均衡。



HTTP重定向服务器是一台普通的应用服务器,其唯一的功能就是根据用户的HTTP请求计算得到一台真是的web服务器地址,并将该web服务器地址写入HTTP重定向响应中(响应状态码302)返回给用户浏览器。

优点:比较简单

缺点:浏览器需要两次请求服务器才能完成一次访问;性能较差,重定向服务器自身的处理能力可能成为瓶颈,整个集群的伸缩性规模有限;使用HTTP302状态码重定向,有可能使搜索引擎判断为SEO作弊,降低搜索排名。因此实践中很少使用。

2、DNS域名解析负载均衡

这是利用DNS处理域名解析请求的同时进行负载均衡处理的一种方案。



实现原理:在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的机器上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。

DNS域名解析负载均衡有如下优点:
1. 将负载均衡的工作交给DNS,省去了网站管理维护负载均衡服务器的麻烦。
2. 技术实现比较灵活、方便,简单易行,成本低,使用于大多数TCP/IP应用。
3. 对于部署在服务器上的应用来说不需要进行任何的代码修改即可实现不同机器上的应用访问。
3. 服务器可以位于互联网的任意位置。
4. 同时许多DNS还支持基于地理位置的域名解析,即会将域名解析成距离用户地理最近的一个服务器地址,这样就可以加速用户访问,改善性能。
  同时,DNS域名解析也存在如下缺点:
1. 目前的DNS是多级解析的,每一级DNS都可能缓存A记录,当某台服务器下线之后,即使修改了A记录,要使其生效也需要较长的时间,这段时间,DNS任然会将域名解析到已下线的服务器上,最终导致用户访问失败。
2. 不能够按服务器的处理能力来分配负载。DNS负载均衡采用的是简单的轮询算法,不能区分服务器之间的差异,不能反映服务器当前运行状态,所以其的负载均衡效果并不是太好。
3. 可能会造成额外的网络问题。为了使本DNS服务器和其他DNS服务器及时交互,保证DNS数据及时更新,使地址能随机分配,一般都要将DNS的刷新时间设置的较小,但太小将会使DNS流量大增造成额外的网络问题。

    事实上,大型网站总是部分使用DNS域名解析,利用域名解析作为第一级负载均衡手段,即域名解析得到的一组服务器并不是实际提供服务的物理服务器,而是同样提供负载均衡服务器的内部服务器,这组内部负载均衡服务器再进行负载均衡,请请求发到真实的服务器上,最终完成请求。
3、反向代理负载均衡


与此同时,反相代理服务器还可以具有存储静态数据用于缓存的功能,从而加速处理用户请求,提高服务器处理性能,其工作原理大概如下图所示:
                                           
反向代理服务器转发请求处于应用层协议上,因此,也称之为应用层负载均衡。该负载均衡方案与反向代理服务器功能集成到了一起,部署相对简单,但是,反向代理服务器会处理所有的请求和响应,其性能可能将会成为整个集群的瓶颈。
    
    注:常用的代理服务器软件有:Fikker、Nginx、Squid等
4、IP负载均衡(SNAT源地址转换)
在网络层通过修改请求目标地址进行负载均衡。


5、数据链路层负载均衡(DR直接路由)

顾名思义,数据链路层负载均衡是指在通信协议的数据链路成修改为mac地址进行负载均衡。又称三角传输模式。它是目前大型网站使用最广的一种负载均衡手段,在Linux平台上最好的链路层负载均衡开源产品是LVS(Linux Virtual Server)


由于实际处理请求的真实物理服务器IP和数据请求目的IP地址一致,不需要通过负载均衡服务器进行地址转换,可将响应数据包直接返回给浏览器,避免负载均衡服务器网卡带宽成为瓶颈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值