gRPC
📡 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를 통해 효율적인 데이터 직렬화를 제공한다.
- 서비스 간 고성능 통신에 적합하다.
댓글남기기