본문 바로가기
스프링/WebClient

REST는 이제 그만? 내부 통신의 절대 강자 gRPC vs REST API 완벽 비교

by 공부 안하고 싶은 사람 2026. 3. 7.
반응형
Microservices Communication

성능이냐 생산성이냐,
gRPC vs REST API 선택의 기준

 

안녕하세요, code-resting입니다. 마이크로서비스(MSA) 환경에서 서비스 간 통신이 잦아질수록 네트워크 지연 시간(Latency)은 시스템 전체 성능의 병목이 됩니다. 우리는 흔히 REST API에 익숙해져 있지만, 대규모 트래픽을 처리하는 넷플릭스나 구글은 왜 내부적으로 gRPC를 사용할까요? 오늘 그 이유를 파헤쳐 봅니다.

1. 무엇이 다른가? (JSON vs Protobuf)

REST는 텍스트 기반의 JSON을 사용하고, gRPC는 바이너리 기반의 Protocol Buffers(Protobuf)를 사용합니다.

  • 🚀 Payload 크기: 바이너리 형식인 Protobuf는 JSON보다 크기가 훨씬 작아 네트워크 대역폭을 절약합니다.
  • 직렬화 속도: 텍스트를 파싱할 필요가 없는 gRPC가 REST보다 수 배 이상 빠릅니다.

2. 전송 프로토콜의 차이

gRPC가 강력한 이유는 HTTP/2를 기반으로 하기 때문입니다.

  • Multiplexing: 하나의 커넥션으로 여러 개의 요청을 동시에 보낼 수 있습니다. (HOL Blocking 해소)
  • Server Push: 클라이언트가 요청하지 않아도 서버가 데이터를 보낼 수 있습니다.
  • Bi-directional Streaming: 실시간 채팅이나 데이터 스트리밍에 최적화되어 있습니다.

3. REST vs gRPC 한눈에 비교

항목 REST API gRPC
프로토콜 HTTP/1.1 (주로) HTTP/2
페이로드 JSON (Text) Protobuf (Binary)
브라우저 지원 매우 우수 제한적 (gRPC-Web 필요)
생산성 매우 높음 낮음 (.proto 관리 필요)

4. 그래서 무엇을 써야 할까요?

✅ REST API 추천: 외부 공개용 API, 브라우저 직접 호출, 단순한 CRUD가 위주인 서비스

✅ gRPC 추천: MSA 간 내부 통신, 성능이 최우선인 실시간 시스템, 다국어(Polyglot) 환경에서의 타입 안전성이 중요한 프로젝트

💡 결론

무조건 gRPC가 정답은 아닙니다. 하지만 2026년 백엔드 시장에서 '성능 최적화'를 논할 때 gRPC는 빠질 수 없는 선택지입니다. 서비스의 특성을 고려하여 하이브리드(External: REST / Internal: gRPC) 구조를 설계해 보시기 바랍니다.

© 2026 code-resting. All rights reserved.

반응형

'스프링 > WebClient' 카테고리의 다른 글

JdbcTemplate  (0) 2021.06.04
WebClient & WebClient vs RestTemplate  (0) 2021.05.20

댓글