gRPC

Explains Google Remote Procedure Call

Jul 16, 2025

gRPC is Google’s Remote Procedure Call framewor that represents an extension of traditional rpc systems.

  • Protocol Buffers: gRPC uses protocal buffers as its interface definition language
  • Code Generation: The protocol buffer compiler generates server-side code from .proto files
  • HTTP/2 Foundation: gRPC is built on top of HTTP/2 to provide high-performance communication at scale

Workflow

  1. Define the Protocol Structure: Create .proto files that define the service interface and message types
  2. Compile: The protocol buffer compiler processes the .proto file and generates server-side code

gRPC leverages HTTP/2 streams for efficient communication:

  • Multiple Streams: Allows multiple streams of messages over a single long-lived TCP connection
  • Concurrent Calls: Enables many concurrent RPC calls over a small number of TCP connections
  • Performance: Provides high-performance communication foundation at scale
gRPC
gRPC Service Architecture

Characteristics

  • High Performance: Built on HTTP/2 for efficient communication
  • Language Agnostic: Protocol buffers support multiple programming languages
  • Streaming Support: Supports various streaming patterns (unary, server streaming, client streaming, bidirectional streaming)
  • Connection Efficiency: Multiplexes multiple calls over fewer TCP connections