잠깐 도와주러 들어간 프로젝트에서 한국 리전에서만 서비스를 운영하다가 VM 생성과 관련된 특정 기능은 미국 리전에서도 동시에 운영하고 싶다는 요구를 들었다.
기존 API Gateway를 통해 라우팅 되는 방식은 /vms/..., /lb/..., /os/... 이런 식으로 서비스 기준으로 설정했다. 프론트엔드에서 VM 생성 관련 기능에만 prefix를 붙여서 요청을 보내기에는 공수가 꽤 클 걸로 예상을 했고, 이에 따라 모든 기능에 대해 공통된 prefix를 붙여서 요청을 보내면 Gateway 기능을 통해 경로를 재작성해 라우팅 하는 방법을 선택했다.
핵심은 아래와 같다.
- /vms 및 /sas/vms 경로를 각각 다른 포트(서버)로 라우팅 한다.
- 여러 리전에서 제공하지 않는 /sas/lb, /sas/os 기능은 실제로 /lb, /os 경로로 Rewrite(경로 변환)되도록 필터를 적용한다.
실제 API Gateway 서비스의 application.yml 파일은 훨씬 더 복잡하지만 간단하게 예제를 살펴보고 필수적으로 알아야 하는 개념들만 짚고 넘어가 보자.
필수적으로 알아야 하는 개념
Route |
|
Predicate |
|
Filter |
|
RewritePath |
|
URI |
|
경로 매핑 방식 |
|
'Dev > Spring Framework' 카테고리의 다른 글
『Spring Boot』 선언적 트랜잭션(Declarative Transaction) (0) | 2025.01.12 |
---|---|
『Spring Boot』 application.yml과 Profile (0) | 2024.12.28 |
『Spring Batch』 스프링 배치 반복 및 오류 제어 (0) | 2024.12.10 |
『Spring Batch』 스프링 배치 메타 데이터 스키마 (2) | 2024.12.09 |
『Spring Batch』 스프링 배치 도메인 이해 (0) | 2024.12.07 |