API 게이트웨이 개념
- 클라이언트의 요청을 받고 백엔드 서비스로 라우팅 / 다양한 부가 기능을 제공하는 중간 서버입니다
- 라우팅 / 인증, 인가 / 필터 / 모니터링, 로깅 등의 기능을 가능하게 합니다
Spring Cloud Gateway
- Spring Cloud Netflix 패키지의 일부
- API 게이트웨이의 역할을 하며 위와 비슷하게 필터링, 동적 라우팅, 모니터링, 보안 등의 역할을 수행한다
API 게이트웨이 필요한 이유
- Client 가 주문(Order), 상품(Product), 유저(User) 에 대해서 사용해야 한다고 가정 및 각 도메인은 MSA 화 되어있다
- 이때 Client 는 각 서버에 대해 호스트를 알아야 하며 각각 관리해주어야 한다

이럴경우 Client 가 모든 호스트를 관리해야하는 문제가 생긴다
이를 간편화하기 위해 서버 앞단에 API Gateway 를 설정한 후 각 url 에 대해 라우팅을 한다

- 요청을 단일화하는 장점이 있다
- 인증, 인가를 API Gateway 한 곳에서 처리할 수 있다
- 요청에 대한 트레이스 및 로깅을 API Gateway 에서 할 수 있다
- 예시) 로그인하지 않은 유저가 주문한 요청 개수
Spring Cloud Gateway 테스트
구조

- Client 는
/order,/product를 통해서 요청 - API 게이트웨이는 요청 URL 을 통해 라우팅
- 각 서버는
Eureka에 등록되어 현재 살아있는 인스턴스가 해당 요청을 수행 및 응답
테스트 코드
'학습일지 > Architecture' 카테고리의 다른 글
| [Architecture] 분산 추적 (0) | 2025.09.18 |
|---|---|
| [Architecture] 중앙 집중식 Config 설정 관리 (3) | 2025.09.17 |
| [Architecture] 서킷브레이커 (Resilience4j) (0) | 2025.09.17 |
| [Architecture] 로드밸런싱 (0) | 2025.09.16 |
| [Architecture] 서비스 디스커버리 (0) | 2025.09.16 |