Nginx和SpringGateway区别
负载均衡
Nginx是流量网关。(还可以做动静分离)
流量网关通常只专注于全局的Api管理策略,比如全局流量监控、日志记录、全局限流、黑白名单控制、接入请求到业务系统的负载均衡等,有点类似防火墙。Kong 就是典型的流量网关。
Gateway是业务网关。
业务网关针对具体的业务需要提供特定的流控策略、缓存策略、鉴权认证策略等等。
业务网关一般部署在流量网关之后、业务系统之前,比流量网关更靠近业务系统。
通常API网关指的是业务网关。 有时候我们也会模糊流量网关和业务网关,让一个网关承担所有的工作,所以这两者之间并没有严格的界线。
下图是一个工程中Nginx先将客户端的请求负载均衡到SpringGateway,然后SpringGateway再通过服务发现,将请求负载均衡到各个业务微服务上。
Nginx在其中扮演的角色是什么?
- 反向代理
- 负载均衡
SpringGateway在其中扮演的角色是什么?
- 统一鉴权
- 负载均衡
- 服务发现
- 动静分离
Nginx的另外的作用:动静分离
Nginx相对于GateWay直面用户流量,在Nginx上 存放了所有的静态资源文件,当用户访问静态文件时可以直接获取的到,避免过多的读写请求都打在后端的应用服务器上,提高吞吐量。