시스템 설계 · 심화
마이크로서비스 아키텍처에서 API Gateway가 단순한 라우팅 기능을 넘어, 서비스 메시(Service Mesh) 환경과 연계하여 고급 보안 정책 적용, 트래픽 관리(서킷 브레이커, 타임아웃), 데이터 변환 및 집계 등의 역할을 수행하도록 설계하는 방안에 대해 논하시오.
힌트 · 인증/인가 중앙화, 요청/응답 변환, 로드 밸런싱, 서비스 디스커버리 연동 등 Gateway의 다양한 역할과 Service Mesh와의 시너지를 설명합니다.
API GatewayService Mesh보안 정책트래픽 관리데이터 변환
모범답안
API Gateway와 Service Mesh를 연동하여 고급 기능을 구현하는 것은 MSA 환경에서 매우 효과적인 방법입니다. API Gateway는 외부 요청을 받아 인증/인가를 중앙 집중적으로 처리하고, Service Mesh는 서비스 간 통신을 안전하고 효율적으로 관리합니다.
예를 들어, API Gateway에서 JWT 토큰 기반 인증을 수행하고, Service Mesh는 mTLS를 통해 서비스 간 상호 인증을 강화할 수 있습니다. 또한, API Gateway에서 요청/응답 데이터 변환을 수행하여 클라이언트와 서비스 간 호환성을 높이고, Service Mesh는 트래픽을 분산하고 서킷 브레이커를 적용하여 안정성을 확보할 수 있습니다.
이러한 연동을 통해 보안, 트래픽 관리, 데이터 처리 등 다양한 측면에서 MSA 시스템의 효율성과 안정성을 크게 향상시킬 수 있습니다. 서비스 디스커버리 연동을 통해 서비스 위치 변경에 유연하게 대응하는 것도 중요한 장점입니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 API 설계 면접 질문
- 분산 환경에서 API의 멱등성(Idempotency)을 보장하기 위한 설계 원칙과 구현 전략에 대해 설명하고, 특히 결제 시스템과 같이 중요도가 높은 트랜잭션에서 발생할 수 있는 잠재적 문제점과 해결 방안을 제시하시오.
- URI, Header, Query Parameter, Content Negotiation 등 다양한 API 버전 관리 전략의 장단점을 비교하고, 대규모 서비스에서 여러 클라이언트와 빠르게 진화하는 요구사항을 동시에 만족시키면서 API 호환성을 유지하기 위한 최적의 버전 관리 전략과 그 이유를 설명하시오.
- RESTful API 설계에서 HATEOAS(Hypermedia as the Engine of Application State) 원칙을 실질적으로 적용했을 때의 이점과 직면할 수 있는 기술적, 운영적 어려움은 무엇이며, 이러한 어려움을 극복하고 HATEOAS를 효과적으로 활용하기 위한 구체적인 방안을 제시하시오.
- 동기식 REST API와 비동기식 이벤트 기반 API를 혼합하여 사용하는 하이브리드 아키텍처를 설계할 때 고려해야 할 핵심 요소들은 무엇이며, 일관성 모델(예: 최종 일관성) 및 오류 처리, 모니터링 측면에서 발생할 수 있는 도전 과제와 해결 전략을 설명하시오.
- 분산 환경에서 공정하고 효율적인 API Rate Limiting을 구현하기 위한 다양한 알고리즘(예: 토큰 버킷, 리키 버킷, 고정 윈도우, 슬라이딩 로그 윈도우)을 비교 분석하고, 특정 사용자의 버스트 트래픽을 허용하면서도 시스템 전체의 안정성을 유지하기 위한 고급 전략을 제시하시오.
- 복잡한 데이터 모델과 다양한 클라이언트 요구사항을 가진 대규모 서비스에서 GraphQL을 도입했을 때 REST API 대비 얻을 수 있는 이점과 발생하는 새로운 아키텍처적 도전 과제(예: 캐싱, N+1 문제, 보안, 모니터링)는 무엇이며, 이들을 효과적으로 해결하기 위한 방안을 설명하시오.