当项目包含注册中心、配置中心以及网关时,启动顺序为:
1. 注册中心服务端
2. 配置中心服务端
3. 注册(配置)中心客户端
4. 网关
类似的zuul(阻塞式),nginx等
Spring cloud Gateway 基于WebFlux开发。
在微服务中,可以做路由转发,权限控制,过滤,服务限流,黑白名单控制等功能。
可以与注册服务中心整合
pom:
与spring-boot-web 冲突,不能同时引入
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.9.RELEASE</version>
</parent>
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency>
路由功能配置:
gateway配置路由主要有两种方式,一种是用yml配置文件,一种是写代码里
这里采用yml配置的方式
各种 Predicates 同时存在于同一个路由时,请求必须同时满足所有的条件才被这个路由匹配。
一个请求满足多个路由的断言条件时,请求只会被首个成功匹配的路由转发
网关集成 nacos:
1.Pom引入:
<nacos.version>0.2.1.RELEASE</nacos.version>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${nacos.version}</version>
</dependency>
1. 启动类加上@EnableDiscoveryClient
2. 配置文件
spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
gateway:
routes:
- id: nacos-getway-consumer
uri: lb://service-consumer #目标服务地址,以lb://开头(lb代表从注册中心获取服务)
predicates:
- Path= /** #过滤规则
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。