关于服务器的负载均衡问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/MBuger/article/details/76285848

简介

当前的网络web服务器都面对着访问量大,并发量高的问题,例如百度这种搜索引擎,每天都会收到数百万的访问请求,这就会导致服务器的CPU,I/O处理能力成为瓶颈。
而最开始人们处理这个问题的方法是把服务器的业务进行分割,把不同的请求分离到不同服务器进行处理。比如用一台服务器处理新闻的请求,一台服务器处理图片请求等等。但是这样并不能有效的解觉问题,因为网络访问具有突发性,很难确定哪些请求会造成服务器负载过大。这种问题的出现就是因为网络访问的不确定性,我们必须按照负载变化动态的调整服务器,这样必然是不可取的。所以针对这种问题我们就需要采取负载均衡的手段。
负载均衡的思路下多台服务器为对称方式,每台服务器都具有等价的地位,都可以单独的提供服务而无须其他服务器的辅助。

常见的负载均衡方案

DNS负载均衡

即为多个不同的IP地址配置同一个域名,这样不同的客户机访问同一个域字的时候就会得到不同的IP地址。使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。一般采取轮询访问算法。
优点:简单实用,服务器的设置位置灵活。
缺点:为了使本地DNS和其他DNS及时交互,保证DNS数据及时更新使地址随机分配,一般都要把DNS刷新时间设置的比较小,但是这就会让DNS流量增大。而求可用性不高。

NAT代理

NAT简单来说就是地址的转换,它代理了客户端。NAT负载均衡将一个外部IP映射为多个内部IP,将外部链接请求引到转换得到地址的那个服务器,从而达到负载均衡。它是一种比较完善的负载均衡技术,它一般工作在内部服务器和外部网间的设备上,比如路由器,交换机,防火墙或者使专用的负载均衡器上。

反向代理

Nginx就是第一个典型的反向代理服务器,它和NAT类似,主要作用就是代理服务器。让代理服务器把请求均匀的分给多个Web服务器。
优点:将负载均衡策略和缓存技术融合在了一起,提高了性能,同时也隔离了外部网络和内部网络,提高安全性。
缺点:它处于应用层,所以不同的应用需要不同的反向代理服务器。一次代理要开内外两个连接,这导致代理服务器负载也会加大。

LVS负载均衡技术

Linux virtual server即linux虚拟服务器,简单来说就是将一组服务器构成 为一个高性能的高可用的虚拟服务器,这个虚拟服务器就可以进行负载调度。
优点:因为它工作在网络层,所以它应用范围广。没有流量产生,只转发请求。抗负载能力强。
缺点:比较复杂,特别是在集群中有windows server的时候。而且不能做动静分离。

硬件负载均衡

即直接在外部网络和服务器外部安装硬件设备进行负载均衡,效果好于软件,但是价格昂贵。例如F5负载均衡器。

猜你喜欢

转载自blog.csdn.net/MBuger/article/details/76285848