微服务中的网关有什么作用?为什么鉴权常放在网关?
先自己想一想,再看参考要点
参考要点
- 网关是所有外部请求的统一入口,负责路由(按路径转发给对应的服务)、鉴权、限流、日志和跨域这些每个服务都需要的处理
- Spring Cloud Gateway 中 uri 写成 lb://服务名,从注册中心取出实例并负载均衡
- 网关校验令牌后把用户 ID 放进请求首部,用 set 覆盖客户端自己带的值,下游服务直接使用,不再重复校验
- 下游服务信任这个首部,所以它们不能对外暴露,只能经过网关访问
- 网关与 Nginx 不冲突,Nginx 通常在最外层负责 TLS 和多个网关实例之间的负载均衡