Day 31 · 4/5
🌿 중급 백엔드

API 게이트웨이가 뭔가요?

쉽게 이해하기

대형 병원 안내 데스크를 생각해보세요. 환자가 '배가 아파요'라고 하면 안내 데스크에서 소화기내과로 안내하고, '눈이 아파요'라면 안과로 보내줘요. API 게이트웨이도 클라이언트 요청을 받아서 적절한 백엔드 서비스로 연결해주는 역할을 해요.

핵심 정리

여러 백엔드 서비스 앞에서 요청을 받아 적절한 곳으로 전달하는 중간 관리자

자세히 알아보기

API 게이트웨이는 클라이언트와 백엔드 서비스들 사이에서 모든 API 요청을 한곳에서 받아 처리하는 중간 계층이에요. 마이크로서비스 아키텍처에서 특히 중요한데, 수십 개의 작은 서비스들이 있을 때 클라이언트가 각각 직접 호출하면 복잡하니까 게이트웨이가 창구 역할을 해요. 무슨 일을 할까요? 먼저 라우팅이에요. `/api/users`는 사용자 서비스로, `/api/orders`는 주문 서비스로 자동으로 연결해줘요. 인증과 권한 확인도 게이트웨이에서 한 번에 처리해요. 모든 서비스마다 인증 코드를 넣지 않아도 게이트웨이에서 토큰을 검증하고 통과시켜요. Rate Limiting, 로깅, 모니터링도 게이트웨이에서 일괄 적용할 수 있어요. 실무에서는 AWS API Gateway, Kong, Nginx 같은 도구를 많이 써요. 예를 들어 모바일 앱에서 `https://api.myapp.com/users`를 호출하면, API Gateway가 받아서 내부의 `http://user-service:3000`로 전달하고, 응답을 다시 앱에 돌려줘요. 클라이언트는 백엔드가 몇 개의 서비스로 나뉘어 있는지 몰라도 돼요. API 게이트웨이가 있으면 백엔드 구조를 바꿔도 클라이언트는 영향을 안 받아요. 사용자 서비스 서버 주소가 바뀌어도 게이트웨이 설정만 수정하면 되고, 클라이언트 앱은 그대로 써요. 보안 측면에서도 백엔드 서버들을 외부에 직접 노출하지 않고 게이트웨이만 공개하니까 안전해요.