← 홈
네트워크

REST vs GraphQL vs gRPC

세 가지 API 스타일의 데이터 모델, 전송 방식, 사용 시점 비교.

핵심 개념

REST

리소스 + HTTP 동사. 캐시 친화, 표준 도구 풍부. 과/소 페칭(over/under-fetching) 문제.

GraphQL

단일 엔드포인트 + 스키마 + 쿼리. 클라이언트가 필요한 필드만 요청. N+1 문제 주의.

gRPC

Protocol Buffers + HTTP/2. 바이너리, 강타입, 빠름. 서버-서버 내부 통신에 적합.

선택 기준

공개 API → REST, 복잡한 모바일/SPA → GraphQL, 마이크로서비스 내부 → gRPC.

면접 단골 질문

  1. Q1.REST의 over-fetching / under-fetching이 무엇이고 GraphQL은 어떻게 해결하나요?
  2. Q2.GraphQL의 N+1 문제는 무엇이고 DataLoader가 어떻게 해결하나요?
  3. Q3.gRPC가 REST보다 빠른 이유는 무엇인가요?
  4. Q4.공개 API를 만들 때 GraphQL보다 REST가 선호되는 이유는?
  5. Q5.각 방식의 캐싱 전략 차이를 설명해보세요.