브라우저와 사람이 읽는 JSON 통신에 강하다.
gRPC는 서비스 사이 계약을 빠른 RPC 호출로 묶는다
REST가 URL과 JSON 중심이라면, gRPC는 .proto 계약에서 서버 메서드와 메시지 타입을 먼저 정하고 HTTP/2로 호출합니다.
타입 계약, binary payload, streaming에 강하다.
API Gateway나 gRPC-Web 경계를 함께 설계한다.
.proto 계약
service UserService
rpc GetUserById(...)팀이 공유하는 메서드와 메시지 기준입니다.
stub / proxy
client.getService<UserService>()클라이언트는 계약에서 만든 프록시로 호출합니다.
HTTP/2 RPC
GetUserById({ id: 1 })서버는 같은 계약의 handler로 응답합니다.
판단 기준: 서비스 내부에서 지연 시간, 타입 계약, streaming이 중요하면 gRPC를 먼저 검토합니다.