피드로 돌아가기
Dev.toBackend
원문 읽기
서비스 요구사항에 따른 REST, GraphQL, gRPC 최적 프로토콜 선택 전략
REST vs GraphQL vs gRPC Which one should you use?
AI 요약
Context
웹 통신 프로토콜의 진화로 REST 외에 GraphQL과 gRPC라는 대안적 선택지 등장. 단일 프로토콜만으로는 다양한 서비스 규모와 데이터 관계, 성능 요구사항을 모두 충족하기 어려운 한계 존재.
Technical Solution
- 범용적 호환성과 단순 CRUD 구현을 위한 REST 기반 Public API 설계
- Microservices 간 통신 효율 극대화를 위한 Binary Format 기반 gRPC 도입
- Strict Contract 보장을 통한 타입 안정성 확보 및 Low Latency 달성
- 클라이언트 중심의 데이터 요청을 통한 Over-fetching 및 Under-fetching 해결을 위한 GraphQL 채택
- 복잡한 데이터 관계 모델링 및 다중 요청 최적화를 위한 단일 엔드포인트 쿼리 구조 설계
실천 포인트
1. Public API 및 단순 CRUD 요구사항 확인 시 REST 우선 검토
2. 내부 Microservices 간 저지연 통신 및 강한 타입 체크 필요 시 gRPC 적용
3. 프론트엔드 데이터 요구사항이 가변적이고 관계형 데이터가 많을 시 GraphQL 도입