Api Gateway
- 마이크로 서비스들이 제공하는 api들은 동적으로 IP,와 포트가 바뀝니다. 그 정보들을 front에서 알수있게 라우팅 기능을 합니다.
Spring Cloud Gateway
- Spring 환경의 gateway로 비동기 처리가 가능하다. (tomcat말고 Netty 등 비동기 서버 사용해야함)
의존성 주입 (build.gradle)
ext {
set('springCloudVersion', "2021.0.6")
}
dependencies {
implementation 'org.springframework.cloud:spring-cloud-starter-gateway'
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
프로젝트 설정값 변경 (application.yml)
server:
port: 7501
eureka:
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultZone: http://127.0.0.1:7500/eureka
default-zone: http://127.0.0.1:7500/eureka
spring:
application:
name: gugbab-api-gateway
cloud:
gateway:
routes:
- id: services
uri: lb://GUGBAB-SERVICES # 포워딩 정보, lb: eureka에 등록된 id 이름
predicates:
- Path=/services/** # 조건
실행 결과