负载均衡分层

 

目录

二层负载均衡

三层负载均衡

四层负载均衡

七层负载均衡

区别

4层负载均衡

7层负载均衡

好处

负载均衡器优缺点

nginx

优点

缺点

LVS

优点

缺点

HAProxy


https://www.jianshu.com/p/fa937b8e6712

二层负载均衡

通过MAC地址互联,请求到虚拟MAC再分配到真实MAC,就MAC到MAC两层。

三层负载均衡

通过IP互联,请求到虚拟IP,然后通过中间层转发到真实IP。

四层负载均衡

通过IP+端口,请求到IP+端口,通过发布三层的ip地址然后加四层的端口号,来决定哪些流量需要做负载均衡,对需要处理的流量进行NAT处理,发布到后台服务器,并记录下这个TCP或者 UDP的流量是发向哪个服务器的,后续也继续转发到该服务器。

主要分析ip层及TCP/UDP层,实现四层流量负载均衡。

工作在OSI的第4层,即TCP层,如LVS, F5

七层负载均衡

通过URL,即通过URL请求连接,它在四层负载的基础上再对应用层进行分析,比如这个URL的HTTP协议URI和cookie等信息。

除了支持4层负载均衡以外,还要分析应用层的信息,如HTTP协议URI或cookie信息。

工作在OSI的最高层:应用层。如haproxy, mysql proxy

区别

4层负载均衡

主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。

以常见的TCP为例,负载均衡设备在接收到第一个来自客户端的SYN请求时,即通过上述方式选择一个最佳的服务器,并对报文中目标ip地址进行修改(改为后端服务器ip),直接转发给该服务器。

TCP的连接建立,即三次握手是客户端和服务器直接建立的,负载均衡设备只是起到了一个类似路由转发的作用

在某些部署情况下,为保证服务器回包可以正确返回给负载均衡设备,在转发报文的同时可能还会对报文原来的源地址进行修改。

7层负载均衡

也称为“内容交换”。通过报文中真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。

以TCP为例,负载均衡设备如果要根据真正的应用层内容再选择服务器,只能先代理最终的服务器和客户端建立三次握手后,才可能接收到客户端发送的真正应用层内容的报文,然后再根据报文中的特定字段,再加上负载均衡设备设置的服务器选择方式,决定最注重选择的内部服务器。

负载均衡设备在这种情况下更类似一个代理服务器。负载均衡和前端的客户端以及后台的服务器会分别建立TCP连接

对负载设备的要求更高,处理能力比4层的低。

好处

1.使得整个网络更智能化。如一个网站的流量可以通过7层的方式,将图片发送到特定的图片服务器并可以使用缓存技术;将文字类发送到特定的文字服务器并可以使用压缩技术。

2.安全性。

网络中最常见的就是SYN Flood攻击(https://blog.csdn.net/u010918487/article/details/95587308),即黑客控制众多源客户端,使用虚假IP地址对同一目标发送SYN攻击,通常这种攻击会大量发送SYN报文,耗尽服务器上的相关资源,以达到DoS(denial of service)的目的。

4层负载均衡下,这些SYN攻击都会被转发到后端服务器,而7层下这些SYN会在负载均衡设备上被截止,不会影响后台服务器运行。

 

负载均衡器优缺点

nginx

优点

1.工作在网络的7层上,可以针对http应用做一些分流的策略,如针对域名、目录结构,它的正则规则比HAProxy更为强大和灵活。

2.对网络稳定性的依赖很小,理论上能ping通就能进行负载均衡,LVS对网络依赖性很大。

3.nginx安装和配置简单,测试方便,基本能把错误日志打印出来。LVS的配置、测试花的时间很长

4.可以承担高负载压力且稳定,在硬件不差的情况下能支撑几万次的并发,负载度比LVS小一些

5.可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等,并且会把返回错误的请求重新提交到另一个节点,但是不支持url检测

6.可以作为web服务器,反向代理加速器,中层反向代理,静态网页和服务器。

缺点

1.仅支持http, https, email协议,适用范围小。

2.对后端服务器的检查只支持端口检测,不支持url检测,不支持session的直接保持,但可以通过ip hash解决。

LVS

优点

1.抗负载能力强,工作在第四层,仅做转发使用,没有流量产生,对内存和cpu消耗比较低。

2.配置性比较低,没有太多可配置的东西。

3.无流量,只转发请求,保证均衡器IO性能不会受到大流量的影响

4.应用范围广,由于工作在第四层,几乎可以对所有应用做负载均衡。

缺点

本身不支持正则,不能动静分离。

HAProxy

1.支持虚拟主机

2.支持session保持,cookie的引导;支持通过获取指定url检测后端服务器状态

3.性能和并发上优于nginx。

4.支持TCP协议的负载均衡转发。

5.支持的负载均衡算法多:

① roundrobin,表示简单的轮询,这个不多说,这个是负载均衡基本都具备的;
② static-rr,表示根据权重,建议关注;
③ leastconn,表示最少连接者先处理,建议关注;
④ source,表示根据请求源IP,这个跟Nginx的IP_hash机制类似,我们用其作为解决session问题的一种方法,建议关注;
⑤ ri,表示根据请求的URI;
⑥ rl_param,表示根据请求的URl参数’balance url_param’ requires an URL parameter name;
⑦ hdr(name),表示根据HTTP请求头来锁定每一次HTTP请求;
⑧ rdp-cookie(name),表示根据据cookie(name)来锁定并哈希每一次TCP请求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值