Spring Cloud Gateway 是 Spring 提供的一个高效、灵活的 API 网关解决方案,基于 Spring 5、Spring Boot 2 和 Project Reactor,具有高并发和低延迟的特点。它用于在微服务架构中对外提供统一的入口,处理请求的路由、过滤、负载均衡等功能。
由于每个微服务都有不同的地址或端口,入口不同,前后端联调会发现一些问题:
-
请求不同数据时要访问不同的入口,需要维护多个入口地址,麻烦
-
前端无法调用nacos,无法实时更新服务列表
官网:https://spring.io/projects/spring-cloud-gateway#learn
1. 网关简介
顾明思议,网关就是网络的关口。数据在网络间传输,从一个网络传输到另一网络时就需要经过网关来做数据的路由和转发以及数据安全的校验。
现在,微服务网关就起到同样的作用。前端请求不能直接访问微服务,而是要请求网关:
-
网关可以做安全控制,也就是登录身份校验,校验通过才放行
-
通过认证后,网关再根据请求判断应该访问哪个微服务,将请求转发过去