티스토리 뷰
#1에 이어 Gateway도 작성해보자.
Gateway
build.gradle
ext {
set('springCloudVersion', "2021.0.3")
}
dependencies {
implementation 'org.springframework.cloud:spring-cloud-starter-gateway'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
//eureka
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
application.yml
server:
port: 8181
---
spring:
application:
name: gateway
cloud:
gateway:
discovery:
locator:
enabled: true
routes:
- id: member-service
uri: lb://member-service #포워딩할 주소, lb://{yureka에 등록한 서비스이름}
predicates:
- Path=/user/** #해당 리소스로 들어오면 위에 uri로 보내겠다는 조건
filters:
- id: order-service
uri: lb://order-service
predicates:
- Path=/order/**
filters:
여기선 filters 를 사용하지 않았지만 사용하면 request와 response를 조작할 수 있다.
이와같이 작성 후 Postman으로 테스트 해보자.
Gateway 포트로 요청을 했는데 해당 서비스가 잘 수행되는 것을 볼 수 있다.
*API Gateway 만들기 #1
'개발 > Spring' 카테고리의 다른 글
[Spring] - Spring AOP 사용 시 주의사항 (0) | 2022.07.24 |
---|---|
[Spring] - 스프링에서 자주보이는 xxxTemplate (0) | 2022.07.20 |
[Spring] - API Gateway 만들기 #1 (0) | 2022.07.13 |
[JPA] - JPA 즉시로딩과 지연로딩(FetchType.EAGER or LAZY) (0) | 2022.06.20 |
[Spring] - p6spy 사용하기 (0) | 2022.06.19 |