Api gateway

김민주·2024년 5월 23일
0

Api gateway란?

개발자가 API를 손쉽게 생성, 게시, 유지 관리, 모니터링 및 보안 유지할 수 있도록 하는 완전관리형 서비스
-> API 호출을 수신 및 처리하는 데 관계된 모든 작업을 처리함(= api 통로역할)

msa아키텍처에서는 각 마이크로서비스는 모놀리식과 다르게 endpoint set이 여러개이기 때문에 api gateway를 사용해 관리함

하는 일

  • 실시간 양방향 통신 애플리케이션이 가능하도록 하는 RESTful API 및 WebSocket API를 작성할 수 있음
  • 컨테이너식 서버리스 워크로드 및 웹 애플리케이션을 지원
  • 트래픽 관리, CORS 지원, 권한 부여 및 액세스 제어, 제한, 모니터링 및 API 버전 관리 등
    -> 엔드포인트 서버에서 공통으로 필요한 인증/권한부여(인가), 사용량관리, 라우팅
    등의 다양한 기능
    제공

제공 API 유형

  1. http API
  2. REST API
  3. WebSocket API

요금

서버리스 서비스이며 수신한 api 호출에 대해서만 지불함

작동방식

기본 기능인 인증/인가기능 작동방식 시

클라이언트(서비스프로바이더)가 인증 허가를 시도하면, api 게이트웨이를 통해 인증정보를 가진 인증 요청이 인증 서버로 가게 됨
인증서버에서 인증을 성공하고 다시 api 게이트웨이로 돌아와 발급받은 api token을 클라이언트한테 전달하게됨

장점

  • 공통로직 처리 : 여러 마이크로 서비스에서 공통적으로 처리해야 하는 기능들을 api gateway 에서 구현하여 개발 중복을 줄이고 표준 준수
  • 효율적인 api 개발 : 동일 api의 여러버전 동시 실행하여 빠르게 릴리즈
  • cloudwatch로 간편한 모니터링
  • 트래픽 제한, api 호출 권한 부여로 백엔드 작업 트래픽 스파이크에 대처

사례

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/

profile
𝐃𝐨𝐧'𝐭 𝐛𝐞 𝐚 𝐩𝐫𝐨𝐜𝐫𝐚𝐬𝐭𝐢𝐧𝐚𝐭𝐨𝐫💫

0개의 댓글