一、新建模块 cloud-gateway-gateway-9527
- 引用相关依赖,gateway , Eureka
<!-- 引入网关依赖 gateway -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<!-- 引入注册中心 Eureka -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
- 新建 application.yml 文件
配置基本信息、注册中心
配置路由 ; 这里配置的是cloud-provider-8001 里面的服务
server:
port: 9527
spring:
application:
name: cloud-gateway
cloud:
gateway:
routes:
- id: provider_routh #路由ID,没有固定规则但是要求唯一,建议配合服务名
uri: http://localhost:8001 #匹配后提供服务的路由地址
predicates:
- Path=/provider/hystrix/** #断言:路径相匹配进行路由
- id: provider_routh2 #路由ID,没有固定规则但是要求唯一,建议配合服务名
uri: http://localhost:8001 #匹配后提供服务的路由地址
predicates:
- Path=/provider/hello/** #断言:路径相匹配进行路由
eureka:
instance:
hostname: cloud-gateway-service
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultZone: http://localhost:7001/eureka
大致配置示意.png
- 新建启动类 GateWayApp9527
@SpringBootApplication
@EnableEurekaClient
public class GateWayApp9527 {
public static void main(String[] args) {
SpringApplication.run(GateWayApp9527.class);
}
}
- 启动测试:分别启动,Eureka, cloud-provider-8001 ,cloud-gateway-gateway-9527
访问 cloud-provider-8001 的:
http://localhost:8001/provider/hello/AAZ
http://localhost:8001/provider/hystrix/ok/123
访问 cloud-gateway-gateway-9527-provider-8001 的:
http://localhost:9527/provider/hello/AAZ
http://localhost:9527/provider/hystrix/ok/123
发现两者结果一样,说明路由成功。
网友评论