시스템 설계 · 중급
마이크로서비스 아키텍처에서 API Gateway의 역할은 무엇이며, API Gateway가 API 설계 원칙 준수 및 서비스 운영 효율성 측면에서 어떤 이점을 제공하는지 설명해주세요.
힌트 · API Gateway는 인증, 인가, 라우팅, 로깅, 캐싱, 속도 제한 등 공통 기능을 처리하여 개별 서비스의 복잡도를 줄이고 일관된 API 접근점을 제공합니다.
라우팅인증/인가트래픽 관리API 조합보안
모범답안
API Gateway는 마이크로서비스 아키텍처에서 클라이언트 요청을 받아 적절한 서비스로 라우팅하는 핵심적인 역할을 합니다. 인증, 인가, 트래픽 제한, 로깅 등 공통 기능을 API Gateway에서 처리함으로써 각 마이크로서비스는 핵심 비즈니스 로직에 집중할 수 있습니다.
API 설계 원칙 준수 측면에서는 API Gateway가 일관된 API 접근점을 제공하여 클라이언트 개발 경험을 향상시키고, API 버전 관리 및 변경 사항 적용을 용이하게 합니다.
서비스 운영 효율성 측면에서는 트래픽 관리, 모니터링, 보안 정책 적용 등을 중앙 집중적으로 관리하여 운영 부담을 줄이고 전체 시스템의 안정성을 높입니다. 또한, 여러 마이크로서비스의 응답을 조합하여 클라이언트에게 최적화된 데이터를 제공하는 API 조합 기능도 제공할 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 API 설계 면접 질문
- 대량의 데이터를 효율적으로 조회하는 API를 설계할 때, 페이지네이션(Pagination), 필터링(Filtering), 정렬(Sorting) 기능을 어떻게 구현하는 것이 일반적이며, 각 기능 설계 시 고려해야 할 사항은 무엇인지 설명해주세요.
- API 설계에서 멱등성(Idempotency)이 중요한 이유는 무엇이며, POST, PUT, DELETE와 같은 HTTP 메서드를 사용할 때 멱등성을 어떻게 보장할 수 있는지 구체적인 사례를 들어 설명해주세요.
- HATEOAS(Hypermedia as the Engine of Application State) 원칙이 RESTful API 설계에서 가지는 의미는 무엇이며, 이 원칙을 적용했을 때 얻을 수 있는 장점과 실제 적용 시 고려해야 할 점은 무엇인지 설명해주세요.
- 분산 환경에서 API의 멱등성(Idempotency)을 보장하기 위한 설계 원칙과 구현 전략에 대해 설명하고, 특히 결제 시스템과 같이 중요도가 높은 트랜잭션에서 발생할 수 있는 잠재적 문제점과 해결 방안을 제시하시오.
- URI, Header, Query Parameter, Content Negotiation 등 다양한 API 버전 관리 전략의 장단점을 비교하고, 대규모 서비스에서 여러 클라이언트와 빠르게 진화하는 요구사항을 동시에 만족시키면서 API 호환성을 유지하기 위한 최적의 버전 관리 전략과 그 이유를 설명하시오.
- RESTful API 설계에서 HATEOAS(Hypermedia as the Engine of Application State) 원칙을 실질적으로 적용했을 때의 이점과 직면할 수 있는 기술적, 운영적 어려움은 무엇이며, 이러한 어려움을 극복하고 HATEOAS를 효과적으로 활용하기 위한 구체적인 방안을 제시하시오.