Nginx是流量网关。
用于反向代理、负载均衡,处理高并发能力十分强大,据测试最高能支持5w个并发连接数。前面章节已经讲述了nginx的各项功能,这里不再重复
Gateway是业务网关。
微服务网关,拥有统一路由、统一鉴权、跨域、限流、服务发现等功能。
通常API网关指的是业务网关。 有时候我们也会模糊流量网关和业务网关,让一个网关承担所有的工作,所以这两者之间并没有严格的界线。
下图是一个工程中Nginx先将客户端的请求负载均衡到SpringGateway,然后SpringGateway再通过服务发现,将请求负载均衡到各个业务微服务上。
Gateway:统一鉴权
当客户端第一次请求服务时,服务端对用户进行信息认证(登录)
认证通过,将用户信息进行加密形成token,返回给客户端,作为登录凭证
以后每次请求,客户端都携带认证的token
服务端对token进行解密,判断是否有效。
如上图,对于验证用户是否已经登录鉴权的过程可以在网关层统一检验。检验的标准就是请求中是否携带token凭证以及token的正确性。
Gateway:统一鉴权
服务发现:服务发现三个角色,服务提供者、服务消费者和服务中介。服务中介是联系服务提供者和服务消费者的桥梁。服务提供者将自己提供的服务地址注册到服务中介,服务消费者从服务中介那里查找自己想要的服务的地址,然后享受这个服务。服务中介提供多个服务,每个服务对应多个服务提供者。
【参考地址://www.greatytc.com/p/02dd4a4af620】