
API 게이트웨이란?
- API 게이트웨이는 클라이언트의 요청을 받아
백엔드 서비스로 라우팅 하고,
다양한 부가 기능을 제공하는 중간 서버
- 클라이언트와 서비스 간의 단일 진입점 역할을 하며,
보안, 로깅, 모니터링, 요청 필터링 등을 처리함
API 게이트웨이의 주요 기능
- 라우팅: 클라이언트 요청을 적절한 서비스로 전달
- 인증 및 권한 부여: 요청의 인증 및 권한을 검증
- 로드밸런싱: 여러 서비스 인스턴스 간의 부하 분산
- 모니터링 및 로깅: 요청 및 응답을 로깅하고 모니터링
- 요청 및 응답 변환: 요청과 응답을 변환하거나 필터링
Spring Cloud Gateway란?
- Spring Cloud Gateway는 Spring 프로젝트의 일환으로 개발된
API 게이트웨이로, 클라이언트 요청을 적절한 서비스로
라우팅 하고 다양한 필터링 기능을 제공함
- Spring Cloud Netflix 패키지의 일부로,
마이크로서비스 아키텍처에서 널리 사용됩니다.
Spring Cloud Gateway의 주요 특징
- 동적 라우팅: 요청의 URL 패턴에 따라 동적으로 라우팅
- 필터링: 요청 전후에 다양한 작업을 수행할 수 있는 필터 체인 제공
- 모니터링: 요청 로그 및 메트릭을 통해 서비스 상태 모니터링
- 보안: 요청의 인증 및 권한 검증
Spring Cloud Gateway 설정
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.cloud:spring-cloud-starter-gateway'
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
라우팅 설정(application.yml)
spring:
cloud:
gateway:
routes:
# 라우트 식별자
- id: order-service
# 'users-service'라는 이름으로 로드 밸런싱된 서비스로 라우팅
uri: lb://order-service
# /users/** 경로로 들어오는 요청을 이 라우트로 처리
predicates:
- Path=/order/**'MSA' 카테고리의 다른 글
| 클라이언트 사이드 로드 밸런싱 FeignClient (1) | 2024.08.20 |
|---|---|
| Eureka 서비스 디스커버리 (0) | 2024.08.19 |
| MSA와 Spring Cloud (0) | 2024.08.07 |