首先你需要先创建一个gateway工程。
或者引入pom:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
<version>3.0.3<ersion>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
第一种方案,自动匹配接口
pom配置方案:
server:
port: 9090
spring:
application:
name: cslcp-gateway
cloud:
gateway:
discovery:
locator:
enabled: true
filters:
- StripPrefix=1 #把传入的服务名干掉
lower-case-service-id: true #全变成小写
eureka:
instance:
hostname: 172.16.122.38
client:
hostname: 172.16.122.38
serviceUrl:
defaultZone: http://172.16.122.38:10001/eureka/
第二种访问
routes:
- id: t1
uri: http://172.16.122.38:10003/
predicates:
#是否命中
- Path=/cslcp100
- Weight=s1, 8
filters:
- SetPath=/cslcp100
- id: t2
uri: http://172.16.122.38:10003/
predicates:
#是否命中
- Path=/cslcp100
- Weight=s1, 2
#- RemoteAddr=172.16.122.30/16
filters:
#命中之后调用的接口
- SetPath=/hystrix1
#在规定时间操作
#- After=2021-06-24T11:45:00+08:00[Asia/Shanghai]
#使用方法
# - Method=GET
该工程属于独立的一个工程。只需要在配置文件中根据业务添加配置即可。详细的配置可参照:Spring-cloud-gateway.
制作整理不易,以上内容均为原创(参考了部分官方文档和老师整理的案例)。如要引用请附上本文链接,如有疑问可以在评论区畅所欲言,作者看到会第一时间回复,欢迎交流!