Search
Duplicate
📒

[아키텍쳐 & 대규모 시스템 설계] 04-3. API 게이트웨이

상태
완료
수업
아키텍쳐 & 대규모 시스템 설계
주제
CS
연관 노트
3 more properties
참고

API Gateway

NOTE
마이크로서비스 아키텍쳐에서 여러 백엔드 서비스와 클라이언트 사시에서 허브의 역할을 한다!
이런식으로 다양한 서비스를 받는 프록시 역할을 한다.
API Gateway를 쓰지 않는경우 (각 서비스에서 따로 구현)
API Gateway를 사용하는 경우 (API Gateway에서 통합적으로 처리ㅒ
마이크로서비스 아키텍쳐로 서비스가 분리되면서, 각 서비스 API에서 공통적으로 필요한 기능을 중복적으로 개발해야 했다.
API Gateway를 이용해서 통합적으로 엔드포인트와 REST API를 관리 할 수 있게되었다!

왜 API Gateway를 사용하는가?

NOTE
API 개발에서부터 관리, 운영 비용에 이르기까지 모든 것이 한 번에 처리되므로 유저, 애플리케이션, API 설비자에게 모두 이롭다!
공통 기능 처리
인증 및 인가(JWT), 로깅과 같은 공통 로직을 각 서비스 컴포넌트에 중복적으로 작성하지 않고 통합해서 처리한다.
API 라우팅
동일한 API에 대한 호출이 있더라도, 서비스나 클라이언트에 따라 다른 엔드포인트를 사용할 수 있다.
로드 밸런싱, 메시지/헤더 기반 라우팅이 가능하다.
간편한 모니터링
API Gateway는 통합된 지점으로 모두 통하므로, 모니터링하기 편리하다.

API Gateway 사용의 문제점

NOTE
API Gateway는 싱글 포인트 이므로 에러가나면 모든 서비스 통신이 먹통이된다.
API Gateway의 스케일 아웃이 유연하게 일어나지 않을 경우, API Gateway가 병목지점이 되어 성능저하가 일어날 수 있다.
API Gateway라는 추가적인 계층이 만들어지기 때문에 latency가 증가하게된다.

API Gateway 솔루션

NOTE
Netflix Zuul
AWS API Gateway