핵심 인사이트
- 본질: API 게이트웨이 (API Gateway)는 클라이언트와 마이크로서비스 사이의 단일 진입점(Single Entry Point)으로, 인증·인가, 라우팅, 속도 제한, 로드 밸런싱, SSL 종료, 모니터링을 통합 처리한다.
- 가치: 수백 개의 마이크로서비스를 클라이언트가 직접 호출하는 복잡성을 API 게이트웨이가 추상화하여, 클라이언트 코드 변경 없이 백엔드 서비스를 독립적으로 리팩토링할 수 있다.
- 판단 포인트: BFF (Backend for Frontend) 패턴은 모바일 앱·웹·TV 등 클라이언트 유형별로 별도 API 게이트웨이를 두어 각 클라이언트의 최적 응답 형식과 데이터 집계를 분리 처리한다.
Ⅰ. 개요 및 필요성
API 게이트웨이는 마이크로서비스 아키텍처의 현관문이다. 모든 외부 요청이 여기를 통과하며 인증(JWT 검증), 라우팅(주문서비스→/orders), 속도 제한(1000 req/min), 캐싱이 일괄 처리된다.
📢 섹션 요약 비유: API 게이트웨이는 호텔 프론트 데스크다. 모든 투숙객(클라이언트)이 프론트를 통해 각 서비스(방/식당/수영장)로 안내된다.
Ⅱ. 아키텍처 및 핵심 원리
┌──────────────────────────────────────────────────┐
│ BFF 패턴 구조 │
│ [모바일 앱]→[Mobile BFF]→[주문/결제/배달 서비스]│
│ [웹 브라우저]→[Web BFF]→[주문/결제/배달 서비스] │
│ [TV 앱]→[TV BFF]→[컨텐츠/추천 서비스] │
└──────────────────────────────────────────────────┘
| API Gateway 기능 | 설명 |
|---|---|
| 인증/인가 | JWT, OAuth 2.0 토큰 검증 |
| 라우팅 | URI 기반 서비스 매핑 |
| Rate Limiting | API 남용 방지 |
| Circuit Breaker | 장애 서비스 차단 |
📢 섹션 요약 비유: BFF는 고객층별 맞춤 안내 직원이다. 외국인(모바일), 노인(TV), 비즈니스(웹)에게 각각 적합한 방식으로 서비스한다.
Ⅲ. 비교 및 연결
| 구분 | API Gateway | BFF |
|---|---|---|
| 대상 | 모든 클라이언트 공통 | 클라이언트 유형별 |
| 최적화 | 일반 처리 | 클라이언트별 특화 |
| 복잡성 | 낮음 | 높음(여러 BFF 관리) |
📢 섹션 요약 비유: API Gateway vs BFF는 공항 종합 안내 vs VIP 전용 라운지다.
Ⅳ. 실무 적용 및 기술사 판단
넷플릭스는 TV·모바일·웹·게임 콘솔 등 1000여 개 기기에 최적화된 응답을 BFF로 제공한다. 모바일 BFF는 낮은 대역폭을 위해 이미지를 압축하고, TV BFF는 고화질 스트림을 준비한다.
기술사 시험에서 이 개념의 정의·구성·비교·기대효과를 논하는 문제가 출제된다.
📢 섹션 요약 비유: API 게이트웨이 없이 MSA 운영은 100개 가게(서비스)가 각자 입구·보안·결제를 따로 관리하는 혼란과 같다.
Ⅴ. 기대효과 및 결론
API 게이트웨이 도입으로 마이크로서비스 복잡성 캡슐화, 중앙집중식 보안·모니터링, 클라이언트 코드 단순화, A/B 테스팅 지원이 달성된다.
📢 섹션 요약 비유: API 게이트웨이는 아파트 경비원이다. 방문객(요청)이 오면 누구인지 확인(인증)하고 올바른 동호수(서비스)로 안내(라우팅)한다.
📌 관련 개념 맵
| 개념 | 설명 | 연관 키워드 |
|---|---|---|
| Kong | 오픈소스 API Gateway | 플러그인 확장 |
| AWS API Gateway | 서버리스 API 관리 | Lambda 연계 |
| OAuth 2.0 | 표준 인증 프레임워크 | JWT 토큰 |
👶 어린이를 위한 3줄 비유 설명
- API 게이트웨이는 어떤 손님이 어느 방으로 가야 하는지 알려주는 호텔 안내 직원이에요.
- BFF는 어린이 손님(모바일)과 어른 손님(웹)에게 각각 다른 메뉴를 제공하는 맞춤 서비스예요.
- 모든 요청이 하나의 문(API Gateway)을 통과하니까 보안과 관리가 훨씬 쉬워져요.