Nginx和SpringGateway区别
负载均衡
Nginx是流量网关。(还可以做动静分离)
流量网关通常只专注于全局的Api管理策略,比如全局流量监控、日志记录、全局限流、黑白名单控制、接入请求到业务系统的负载均衡等,有点类似防火墙。Kong 就是典型的流量网关。
Gateway是业务网关。
业务网关针对具体的业务需要提供特定的流控策略、缓存策略、鉴权认证策略等等。
业务网关一般部署在流量网关之后、业务系统之前,比流量网关更靠近业务系统。
通常API网关指的是业务网关。 有时候我们也会模糊流量网关和业务网关,让一个网关承担所有的工作,所以这两者之间并没有严格的界线。
下图是一个工程中Nginx先将客户端的请求负载均衡到SpringGateway,然后SpringGateway再通过服务发现,将请求负载均衡到各个业务微服务上。
Nginx在其中扮演的角色是什么?
SpringGateway在其中扮演的角色是什么?
动静分离
在我们的软件开发中,有些请求是需要后台处理的(如:.jsp,.do等等),有些请求是不需要经过后台处理的(如:css、html、jpg、js等等文件),这些不需要经过后台处理的文件称为静态文件,否则动态文件。在我们对资源的响应速度有要求的时候,我们应该使用这种动静分离的策略去解决。
如下图,在动静分离时,静态资源部署在Nginx服务器上,动态资源部署在业务微服务集群上。
|