9 nginx之反向代理和负载均衡

1、反向代理

1.什么是代理

代理一词往往并不陌生, 该服务我们常常用到如(代理理财、代理租房、代理收货等等),如下图所示

2.没有代理

在没有代理模式的情况下,客户端和Nginx服务端,都是客户端直接请求服务端,服务端直接响应客户端。

3.有代理

那么在互联网请求里面,为了安全客户端往往无法直接向服务端发起请求,就需要用到代理服务,来实现客户端和服务端通信,如下图所示

4.Nginx代理服务常见模式

Nginx作为代理服务,按照应用场景模式进行总结,代理分为

1.正向代理
2.反向代理

1)正向代理

正向代理,(内部上网) 客户端 <—> 代理 -> 服务端

2)反向代理

反向代理,用于公司集群架构中,客户端 -> 代理 <—> 服务端

3)正向代理与反向代理的区别

1.区别在于形式上服务的”对象”不一样
2.正向代理代理的对象是客户端,为客户端服务
3.反向代理代理的对象是服务端,为服务端服务

2、负载均衡

1、平均分配
2、权重大小分配

负载均衡是由反向代理来实现的。

负载均衡就是将流量按照一定的方式分配给web机器

选择使用Nginx来搭建负载均衡服务器

1、什么叫四层负载均衡

四层负载均衡是基于TCP/IP协议的

所谓四层负载均衡指的是OSI七层模型中的传输层,那么传输层Nginx已经能支持TCP/IP的控制,
所以只需要对客户端的请求进行TCP/IP协议的包转发就可以实现负载均衡,
那么它的好处是性能非常快、只需要底层进行应用处理,而不需要进行一些复杂的逻辑

 

2、什么是七层负载均衡

七层负载均衡是基于HTTP协议的

七层负载均衡它是在应用层,那么它可以完成很多应用方面的协议请求,
比如我们说的http应用的负载均衡,
它可以实现http信息的改写、头信息的改写、安全应用规则控制、URL匹配规则控制、以及转发、rewrite等等
的规则,所以在应用层的服务里面,我们可以做的内容就更多,那么Nginx则是一个典型的七层负载均衡SLB

3、四层和七层负载均衡的区别

四层负载均衡数据包在底层就进行了分发,而七层负载均衡数据包则是在最顶层进行分发、由此可以看出,
七层负载均衡效率没有四负载均衡高。
但七层负载均衡更贴近于服务,如:http协议就是七层协议,我们可以用Nginx可以作会话保持,
URL路径规则匹配、head头改写等等,这些是四层负载均衡无法实现的。

HTTP 基于 TCP/IP 协议的,所以,四层负载均衡的性能要高于七层负载均衡。

但是四层负载均衡是不支持域名的。

 

所以,一般使用七层负载均衡来负载web服务。

posted @ 2021-10-28 23:02  甜甜de微笑  阅读(168)  评论(0编辑  收藏  举报