피드로 돌아가기
Dev.toBackend
원문 읽기
gRPC 도입으로 Latency 30% 감소 및 Throughput 25% 향상 달성
RPC vs REST, a protocol choice
AI 요약
Context
네트워크 통신 설계 시 프로토콜 선택에 따른 성능과 확장성 간의 상충 관계 분석. 기존 REST 기반 구조의 오버헤드와 대규모 트래픽 환경에서의 인프라 효율성 확보 필요성 대두.
Technical Solution
- 내부 Microservices 간 통신에 gRPC를 도입하여 Function Call 방식의 고효율 인터페이스 구축
- 전송 프로토콜의 유연성을 활용한 전송 오버헤드 최소화 및 데이터 처리 효율 증대
- Public API에는 REST 아키텍처를 채택하여 Stateless 특성을 통한 무한 확장성 확보
- HTTP 표준 Verb와 Resource 중심 설계를 통해 CDN 및 Load Balancer와의 호환성 극대화
- 내부 효율성을 위한 RPC의 State 관리 부담과 외부 확장성을 위한 REST의 Caching 계층 최적화 병행
- 서비스 성격에 따라 Internal(RPC)과 External(REST)을 분리하는 하이브리드 통신 전략 수립
Impact
- REST 대비 Latency 30% 감소
- Throughput 25% 증가
- 초당 수백만 건의 Request 처리 가능한 Scalability 확보
Key Takeaway
성능 최적화가 필요한 내부 통신은 RPC를, 범용성과 확장성이 중요한 외부 접점은 REST를 선택하는 전략적 분리 설계 필요.
실천 포인트
1. 내부 마이크로서비스 간 빈번한 호출 발생 시 gRPC 도입 검토
2. Public API 설계 시 Stateless 구조와 HTTP 표준 준수로 인프라 호환성 확보
3. RPC 도입 시 서버 State 관리 및 Affinity로 인한 스케일링 복잡도 분석
4. REST API 성능 병목 해결을 위한 다계층 Caching 전략 수립