gRPC는 서비스 사이 계약을 빠른 RPC 호출로 묶는다

REST가 URL과 JSON 중심이라면, gRPC는 .proto 계약에서 서버 메서드와 메시지 타입을 먼저 정하고 HTTP/2로 호출합니다.

REST외부 공개 API에 익숙함

브라우저와 사람이 읽는 JSON 통신에 강하다.

gRPC내부 서비스 간 고성능 호출

타입 계약, 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를 먼저 검토합니다.