'Coin Site Project'

[TIL/Coin Site Project] 2024/01/26

✅ API Gateway에 관한 고찰프론트엔드계의 백종원 선생님이 되고자 하는 나로서는, 이런 글을 읽게 되면 백종원이 아니라 은현장에 더 가까워진다. (화가 머리끝까지 난다는 뜻)API Gateway는 API계의 '전역 상태 관리'라고 할 수 있다. 이게 다임 실제로

2024년 1월 26일2min read

✅ API Gateway에 관한 고찰

프론트엔드계의 백종원 선생님이 되고자 하는 나로서는, 이런 글을 읽게 되면 백종원이 아니라 은현장에 더 가까워진다. (화가 머리끝까지 난다는 뜻)

API Gateway는 API계의 '전역 상태 관리'라고 할 수 있다. ~~이게 다임 실제로 ㅇㅇ~~

✅ API Gateway Flow

내가 만든 Flow Diagram, 나를 위해 구웠다.

1. 일반적인 용법 🟢

하나의 Web UI는 다양한 API로 request를 보낸다. 네이버 서비스를 상상하면 이해하기 쉽다. 그런데 갑자기 네이버가 미쳐서, 날씨를 뉴스로 통합하겠다는 끔찍한 발표를 하게 됐다고 보자.

날씨 API를 바라보는 많은 Fetch 함수가 있을 것이다. 이 많은 코드를, 전부 뉴스 API 쪽으로 Fetch 하도록 엔드포인트 내지는 함수를 모두 변경하라는 업무 지시가 내려왔다고 가정하자. ~~ㅋㅋ Tlqkf~~

아니야 아직 퇴사하지 말아봐 ㅋㅋ

그래서 첫 번째 도표 하단에 'Integrated Management'라는 단어를 적어놓았다.

API Gateway에서 경로만 변경해 주면, 하나하나 변경했어야 할 내용을 통합적으로 수정할 수 있게 된다. 지역 상태 관리에 쩔쩔매다가 전역 상태 관리를 하게 되었을 때의 짜릿함이 자연스럽게 떠오른다.

API Gateway를 API계의 '전역 상태 관리'라고 정리한 나 자신이 너무 대견하다.

2. 프로젝트에서의 용법 🟢

Integrated Management의 역할도 당연히 필요하다.

다만 Kakao integrate에 있어서는, API 생성의 역할 때문에 API Gateway가 필요하다.

전역 상태 관리와 정말 논리 구조가 동일하다. 전역 상태 파일에서 데이터 파싱만을 수행하지는 않는다. 데이터를 생성할 수도 있다.

API Gateway에서도 API를 만들 수 있다.

AWS Cognito에서는 Kakao 인증 방식을 지원하지 않는다. Cognito에서 지원하지 않는 방식의 OAuth 2.0 인증을 진행하려면, 별도의 API 생성이 필수불가결하다는 의미이다.

✅ 요약

API Gateway는 API 계의 '전역 상태 관리'다.

전역 상태를 관리하는 파일에서 1) 상태를 생성하기도 하고, 2) 전역적으로 관리도 하는 것처럼, API Gateway를 통해 1) API를 생성할 수도, 2) 여러 API를 통합적으로 관리할 수도 있다.

일반적으로는 Integrated Management, 즉 통합 관리에 API Gateway의 핵심적인 효용이 있다. 다만 당장 프로젝트에서 요구되는 점은 'API 생성'이다.

카카오를 인증 수단으로 인정하지 않는 cognito userpool의 특성 때문에, 해당 기능을 수행할 API가 필요해진 것이다.

차후에 '코인 가격' 또는 '코인 관련 뉴스' 등 API가 많이 늘어날 것이기에, API Gateway(특히 Integrated Management 관점에서의...)에 대한 명확한 이해가 필요하겠다는 생각이 든다.

✅ Next Step 👣

1. 카카오에서 auth 코드를 통해 access token을 발급받는 과정 TIL로 정리하기

2. AWS API Gateway로 카카오 관련 API 생성하기

3. AWS Lambda에 관해 학습하기

너무 멀리 보진 말자!