系统原理分析架构-六-负载均衡(定义及介绍及LVS/Nginx/Haproxy比较)
2015-11-17 10:25
555 查看
负载均衡定义:
负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。均衡负载能够平均分配客户请求到服务器列阵,籍此提供快速获取重要数据,解决大量并发访问服务问题。这种群集技术可以用最少的投资获得接近于大型主机的性能。这种技术可以运用在流量拥塞时、访问路径过长、网民数量大增、运行这种系统负载、大大的提高了系统的可靠性、负载均衡技术解决网络拥塞的问题、处理大量并发的访问服务能力、提高服务器的响应速度、为用户提供更好的访问质量。所以说负载均衡是智能化、高性能、灵活性的技术。
设计思想:
一台普通服务器的处理能力只能达到每秒几万个到几十万个请求,无法在一秒钟内处理上百万个甚至更多的请求。但若能将多台这样的服务器组成一个系统,并通过相关技术将所有请求平均分配给所有服务器,那么这个系统就完全拥有每秒钟处理几百万个甚至更多请求的能力。这就是负载均衡最初的基本设计思想。
负载均衡的几种实现技术:
http重定向:当http代理(比如浏览器)向web服务器请求某个URL后,web服务器可以通过http响应头信息中的Location标记来返回一个新的URL。这意味着HTTP代理需要继续请求这个新的URL,完成自动跳转。
DNS负载均衡:这也是最早的负载均衡技术。在DNS负载均衡服务器中可以为不同的地址用同一个名字、对于一个名字不同的客户访问不同的WEB服务器得到其中一个地址、从而达到负载均衡的目的。DNS负载均衡不能区分服务器的区别。
代理负载均衡:普通用户访问Web服务时(其实访问的是反向代理负载均衡器),反向代理负载均衡器,再将请求转发给内部多台Web服务器,这样讲外部访问请求根据配置策略负载到内部的多台Web服务器,从而达到负载均衡的目的。
内部地址外部地址转换负载均衡:将外部的IP地址映射到多个内部地址、地址转换网管将每个连接均匀转换不同的内部服务器地址、然后外部计算机就各自与自己转换得到的地址的服务器进行连接达到负载分担的目的。
硬件负载均衡:例如F5、思科会有硬件负载均衡器,来处理请求负载。不过价格相对昂贵。
四层VS七层负载均衡:
三大主流软件负载均衡器对比(LVS VS Nginx VS Haproxy)
更多关于负载均衡使用实战,请关注后续博文。
负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。均衡负载能够平均分配客户请求到服务器列阵,籍此提供快速获取重要数据,解决大量并发访问服务问题。这种群集技术可以用最少的投资获得接近于大型主机的性能。这种技术可以运用在流量拥塞时、访问路径过长、网民数量大增、运行这种系统负载、大大的提高了系统的可靠性、负载均衡技术解决网络拥塞的问题、处理大量并发的访问服务能力、提高服务器的响应速度、为用户提供更好的访问质量。所以说负载均衡是智能化、高性能、灵活性的技术。
设计思想:
一台普通服务器的处理能力只能达到每秒几万个到几十万个请求,无法在一秒钟内处理上百万个甚至更多的请求。但若能将多台这样的服务器组成一个系统,并通过相关技术将所有请求平均分配给所有服务器,那么这个系统就完全拥有每秒钟处理几百万个甚至更多请求的能力。这就是负载均衡最初的基本设计思想。
负载均衡的几种实现技术:
http重定向:当http代理(比如浏览器)向web服务器请求某个URL后,web服务器可以通过http响应头信息中的Location标记来返回一个新的URL。这意味着HTTP代理需要继续请求这个新的URL,完成自动跳转。
DNS负载均衡:这也是最早的负载均衡技术。在DNS负载均衡服务器中可以为不同的地址用同一个名字、对于一个名字不同的客户访问不同的WEB服务器得到其中一个地址、从而达到负载均衡的目的。DNS负载均衡不能区分服务器的区别。
代理负载均衡:普通用户访问Web服务时(其实访问的是反向代理负载均衡器),反向代理负载均衡器,再将请求转发给内部多台Web服务器,这样讲外部访问请求根据配置策略负载到内部的多台Web服务器,从而达到负载均衡的目的。
内部地址外部地址转换负载均衡:将外部的IP地址映射到多个内部地址、地址转换网管将每个连接均匀转换不同的内部服务器地址、然后外部计算机就各自与自己转换得到的地址的服务器进行连接达到负载分担的目的。
硬件负载均衡:例如F5、思科会有硬件负载均衡器,来处理请求负载。不过价格相对昂贵。
四层VS七层负载均衡:
① 所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡;同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。 换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址;四层通过虚拟IP+端口接收请求,然后再分配到真实的服务器;七层通过虚拟的URL或主机名接收请求,然后再分配到真实的服务器。 ② 所谓的四到七层负载均衡,就是在对后台的服务器进行负载均衡时,依据四层的信息或七层的信息来决定怎么样转发流量。 比如四层的负载均衡,就是通过发布三层的IP地址(VIP),然后加四层的端口号,来决定哪些流量需要做负载均衡,对需要处理的流量进行NAT处理,转发至后台服务器,并记录下这个TCP或者UDP的流量是由哪台服务器处理的,后续这个连接的所有流量都同样转发到同一台服务器处理。七层的负载均衡,就是在四层的基础上(没有四层是绝对不可能有七层的),再考虑应用层的特征,比如同一个Web服务器的负载均衡,除了根据VIP加80端口辨别是否需要处理的流量,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。举个例子,如果你的Web服务器分成两组,一组是中文语言的,一组是英文语言的,那么七层负载均衡就可以当用户来访问你的域名时,自动辨别用户语言,然后选择对应的语言服务器组进行负载均衡处理。 ③ 负载均衡器通常称为四层交换机或七层交换机。四层交换机主要分析IP层及TCP/UDP层,实现四层流量负载均衡。七层交换机除了支持四层负载均衡以外,还有分析应用层的信息,如HTTP协议URI或Cookie信息。 |
|
相关文章推荐
- centos7安装nginx
- 关于nginx的server_name
- 隐藏Nginx/Apache版本号的安全性与方法
- 使用ngxtop实时监控nginx
- centos直接yum安装nginx
- (总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解
- LNMP基于FastCGI实现Nginx,PHP,MySQL的架构分离
- ubuntu 安装 nginx
- centos7+LVS+KeepAlived实现Nginx服务的高可用性
- linux 安装与启动nginx
- nginx args
- nginx 安装
- Job for nginx.service failed because the control process exited with error code. See "systemctl stat
- cors与Nginx
- 转:Nginx+Apache环境的安装与配置
- Nginx 实战(一) 集群环境搭建 Nginx配置文件详细说明
- nginx服务器初步
- nginx查看配置文件nginx.conf路径
- nginx-0.1.0文件分析1:ngx_daemon.c
- linux 安装nginx php mysql