关于服务器的负载均衡问题
来源:互联网 发布:詹姆斯数据预测 编辑:程序博客网 时间:2024/06/02 07:00
简介
当前的网络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负载均衡器。
- 关于服务器的负载均衡问题
- 解决服务器问题的数据库负载均衡
- 服务器的负载均衡
- 服务器的负载均衡
- 使用.net开发程序的多服务器负载均衡问题
- n个缓存服务器负载均衡的问题 -- 一致性hash
- 负载均衡服务器的好处
- 负载均衡服务器的好处
- 服务器负载均衡的原理
- 关于数据库和web服务器负载均衡
- 关于Nginx负载均衡和共享session的问题
- 谷歌推出有界负载的一致性哈希算法,解决服务器负载均衡问题
- Linux服务器网络负载均衡的实现
- WEB服务器的负载均衡技术
- 实现PostgreSQL数据库服务器的负载均衡
- 负载均衡服务器session共享的解决方案
- 什么是服务器的负载均衡技术?
- 服务器集群与负载均衡的区别
- python zipfile模块
- LAMP环境 服务器多项目,多域名配置
- ANT 构建和部署项目
- SpringBoot:spring boot集成mybatis
- LeetCode(45) Jump Game II
- 关于服务器的负载均衡问题
- Spring 框架(一)
- Spring 框架(二)
- Node.js 操作Mongodb
- nodejs项目windows下开机自启动
- Spring 框架(三)
- 170728 逆向-RouterScan(4)
- Spring Boot中MyBatis的使用
- Maven 安装配置&基本使用