개발자가 API를 손쉽게 생성, 게시, 유지 관리, 모니터링 및 보안 유지할 수 있도록 하는 완전관리형 서비스
-> API 호출을 수신 및 처리하는 데 관계된 모든 작업을 처리함(= api 통로역할)
msa아키텍처에서는 각 마이크로서비스는 모놀리식과 다르게 endpoint set이 여러개이기 때문에 api gateway를 사용해 관리함
서버리스 서비스이며 수신한 api 호출에 대해서만 지불함
기본 기능인 인증/인가기능 작동방식 시
클라이언트(서비스프로바이더)가 인증 허가를 시도하면, api 게이트웨이를 통해 인증정보를 가진 인증 요청이 인증 서버로 가게 됨
인증서버에서 인증을 성공하고 다시 api 게이트웨이로 돌아와 발급받은 api token을 클라이언트한테 전달하게됨
API Gateway의 좋은 사례는 netflix api gateway임
스트리밍 서비스는 셋톱박스/스마트폰/태블릿 등 수백가지 종류의 장치에서 사용해야 하는데 다 만족하는 api 를 제공하려 했으나 힘들다는 것을 파악.
현재 장치별로 어댑터 코드를 실행하여 장치에 맞는 api를 제공하는 Api게이트웨이 사용. (어댑터 하나당 평균 6~7개 백엔드 서비스 호출)
=> netflix api gateway는 하루에 수십억건의 요청을 처리하게 됨
📎참고
https://inpa.tistory.com/entry/AWS-%F0%9F%93%9A-API-Gateway-%EA%B0%9C%EB%85%90-%EA%B8%B0%EB%B3%B8-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%A0%95%EB%A6%AC
https://bcho.tistory.com/1005 https://wildeveloperetrain.tistory.com/205
https://nginxstore.com/blog/api-gateway/%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4-%EA%B5%AC%EC%B6%95%EC%9D%84-%EC%9C%84%ED%95%9C-api-gateway-%ED%8C%A8%ED%84%B4-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0/