네트워크
REST vs GraphQL vs gRPC
세 가지 API 스타일의 데이터 모델, 전송 방식, 사용 시점 비교.
핵심 개념
REST
리소스 + HTTP 동사. 캐시 친화, 표준 도구 풍부. 과/소 페칭(over/under-fetching) 문제.
GraphQL
단일 엔드포인트 + 스키마 + 쿼리. 클라이언트가 필요한 필드만 요청. N+1 문제 주의.
gRPC
Protocol Buffers + HTTP/2. 바이너리, 강타입, 빠름. 서버-서버 내부 통신에 적합.
선택 기준
공개 API → REST, 복잡한 모바일/SPA → GraphQL, 마이크로서비스 내부 → gRPC.
면접 단골 질문
- Q1.REST의 over-fetching / under-fetching이 무엇이고 GraphQL은 어떻게 해결하나요?
- Q2.GraphQL의 N+1 문제는 무엇이고 DataLoader가 어떻게 해결하나요?
- Q3.gRPC가 REST보다 빠른 이유는 무엇인가요?
- Q4.공개 API를 만들 때 GraphQL보다 REST가 선호되는 이유는?
- Q5.각 방식의 캐싱 전략 차이를 설명해보세요.