# Routing 전략
spring.cloud.gateway.routes[0].id=ms1
spring.cloud.gateway.routes[0].predicates[0].name=Path
spring.cloud.gateway.routes[0].predicates[0].args.pattern=/ms1/**
spring.cloud.gateway.routes[0].uri=http://localhost:8081
spring.cloud.gateway.routes[1].id=ms2
spring.cloud.gateway.routes[1].predicates[0].name=Path
spring.cloud.gateway.routes[1].predicates[0].args.pattern=/ms2/**
spring.cloud.gateway.routes[1].uri=http://localhost:8082
server:
port: 8080
spring:
cloud:
gateway:
routes:
- id: ms1
uri: http://localhost:8081
predicates:
- Path=/ms1/**
- id: ms2
uri: http://localhost:8082
predicates:
- Path=/ms2/**
@Configuration
public class CustomRoute {
@Bean
public RouteLocator cRouter(RouteLocatorBuilder builder){
return builder.routes()
.route("ms1", r -> r.path("/ms1/**")
.uri("http://localhost:8081"))
.route("ms2", r -> r.path("/ms2/**")
.uri("http://localhost:8082"))
.build();
}
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-webflux'
implementation 'org.springframework.cloud:spring-cloud-starter-gateway'
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
}
implementation 'org.springframework.cloud:spring-cloud-starter-gateway-mvc'
📌 Spring MVC (블로킹)
📌 Spring WebFlux (논블로킹)