今天讲解一下网关和配置管理。
一、网关
网关:就是网络的关口,负责请求的路由、转发、身份校验。
两种主要网关软件对比:
1、网关路由
网关路由的实现主要有以下步骤:
①创建新模块
②引入网关依赖
<!--网关-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
③编写启动类
④配置路由规则
spring:
cloud:
gateway:
routes:
- id: item # 路由规则id,自定义,唯一
uri: lb://item-service # 路由目标微服务,lb代表负载均衡
predicates: # 路由断言,判断请求是否符合规则,符合则路由到目标
- Path=/items/** # 以请求路径做判断,以/items开头则符合
- id: xx
uri: lb://xx-service
predicates:
- Path=/xx/**
网关路由对应的Java类型是RouteDefinition,其中常见的属性有:
- id:路由唯一标示
- uri:路由目标地址
- predicates:路由断言,判断请求是否符合当前路由。
- filters:路由过滤器,对请求或响应做特殊处理。
路由断言:
Spring提供了12种基本的RoutePredicateFactory实现:
路由过滤器
网关中提供了33种路由过滤器,每种过滤器都有独特的