📡 gRPC란?

정의

gRPC는 HTTP/2 기반의 고성능 원격 프로시저 호출(RPC) 프레임워크다.

클라이언트가 원격 서버의 함수를 호출하듯 통신할 수 있게 해주며, 서비스 간 통신에 자주 사용된다.

⚙️ 특징

  • Protobuf를 기본 직렬화 형식으로 사용한다.
  • 속도가 빠르고 스트리밍에 유리하다.
  • 서비스 간 통신에 잘 맞는다.
  • HTTP/2를 사용해 다중화와 효율적인 통신이 가능하다.

🧭 RPC란?

정의

RPC(Remote Procedure Call)는 원격에 있는 함수를 로컬 함수처럼 호출하는 통신 방식이다.

gRPC는 이 RPC 개념을 표준화된 구조와 성능 좋은 전송 방식으로 구현한 프레임워크라고 볼 수 있다.

🧩 gRPC의 장점

  • 직렬화 데이터 크기가 작다.
  • 통신 속도가 빠르다.
  • 다양한 언어를 지원한다.
  • API 명세를 .proto 파일로 관리할 수 있다.

🔍 gRPC가 잘 맞는 경우

  • 마이크로서비스 간 통신
  • 내부 API 호출
  • 빠른 응답이 필요한 서비스
  • 양방향 스트리밍이 필요한 경우

⚠️ 주의할 점

  • 브라우저 직접 호출은 일반 REST보다 제약이 있을 수 있다.
  • HTTP/2 지원이 필요하다.
  • .proto 정의와 코드 생성을 함께 관리해야 한다.

📌 정리

  • gRPC는 HTTP/2 기반의 RPC 프레임워크다.
  • ProtoBuf를 통해 효율적인 데이터 직렬화를 제공한다.
  • 서비스 간 고성능 통신에 적합하다.

연결문서

댓글남기기