四层负载与七层负载均衡实际场景

来源:3-40 Nginx作为负载均衡服务_backup状态演示

慕妹2362023

2018-11-21

jeson老师您好:
通常企业使用Nginx7层负载均衡,来解决URL的访问控制,以及流量的分发,那么为什么很多企业在7层负载均衡前面增加四层负载均衡?

1.为什么要用四层负载均衡,解决了什么问题?
2.为什么说使用四层负载均衡会增加网站的响应速度,那到底是为什么比七层要快,关键是比七层快在哪儿?
3.四层负载均衡的实际应用场景在哪,不能说为了架构而架构把 总得有实际的运用需求把?是为了抗住上亿pv 还是千万pv就得用

还请老师给点指示,这个问题困扰了很久。

写回答

2回答

Jeson

2018-11-21

你好,你的问题综合解答如下:

四层/七层 是OSI网络模型的概念,四层负载均衡基于传输层协议包来封装的(如:TCP/IP),LVS就是典型的四层防火墙。7层是指的应用层,它的组装在四层之上。

所以:7层负载均衡效率没有4层高,因为4层在底层就作分发了(具体能抗多少pv、并发还取决你使用的模式和服务类型)。7层由于更贴近于服务,如:http协议就是7层协议,我们可以用Nginx可以作会话保持,head头改写等等,这些是4层负载均衡实现不了的。

典型4层负载,应用场景如下:

  1. 4层+7层 来作负载均衡,4层可以保证7层的负载均衡的高可用性。如:nginx就无法保证自己的服务高可用,需要依赖lvs或者keepalive来作。

  2. 4层负载均衡,作4层协议的负载均衡,如:tcp协议的负载均衡,有些请求是TCP协议的,或者说这些请求只需要作到4层就可以了,所以使用4层负载均衡。

    等等。。大家可以举例丰富下

1
0

慕妹2362023

提问者

2018-11-22

最后还有一点,是不是只要使用4层+7层,后面的七层域名都必须配置的一模一样,比如proxy1 配置了三个域名 www  blog  test  ,proxy2配置了2个域名  www blog , 那么在访问四层的时候,四层将请求直接转发给后端的七层,七层匹配域名,如果说用户请求的test域名,被调度到了proxy2  这样是不是就会导致访问出错的请求,还是老师这边有对应的生产配置能提供参考的,麻烦老师解答啦。谢谢


0
0

Nginx入门到实践-Nginx中间件应用+搭建Webserver架构

中间件、负载均衡、应用层安全防护、动静分离、Nginx+LUA开发等

4183 学习 · 908 问题

查看课程