为什么需要网关
- 身份认证和权限认证
- 服务路由,负载均衡
- 请求限流
Gateway
性能比Zuul(基于Servlet 阻塞)好
Gateway 搭建步骤
- 引入Nocas 服务发现和 gateway 依赖,为了拉去服务列表。
- 配置application.yml,配置基本信息,nacos地址,路由,断言,路由过滤器。
网关配置
spring:
gateway:
routes: #网关路由配置
- id : user-service # 路由id,唯一
uri: lb/userservice #路由目标地址 lb就是负载均衡
predicates: #路由断言,也就是判断请求是否符合路由规则的条件
- Path="user/**" # 这个按照路径匹配,只要以/user/开头就符合要求
路由断言工厂(Route Predicate Factory)
- 我们在配置文件中写的断言规则只是字符串,这些字符串会被Predicate Factory 读取并处理,转变为路由判断的条件。
- 例如 Path=“/user/**” 是按照路径匹配,这个规则由PathRoutePredicateFactory类来处理的。