gRPC

Remote procedure calls

gRPC is a framework for remote procedure calls—a way for programs on different computers to communicate as if calling local functions.

Developed by Google, the "g" officially stands for different words in each release. gRPC is widely used in microservices architecture, where many small programs need to exchange data efficiently: Our backend uses gRPC for service-to-service communication.

protocol

protobuf

Binary serialization format

multiplexing · contract · schema · message · bidirectional · channel · deadline · metadata · interceptor · codec

architecture

microservices

Decomposed application architecture

sidecar · polyglot · cross-platform · interoperability · backend · endpoint · orchestration · containerized · scalability · decoupling

comparison

REST

Web service design paradigm

  • SOAPWeb services messaging specification
  • JSONLightweight data interchange format
  • latencyDelay in system response

performance · efficiency · bandwidth · overhead · speed · throughput · benchmarking · tradeoffs · migration · compatibility

streaming

real-time

Occurring without processing delay

chunking · long-lived · event-driven · reactive · async · observer

implementation

Go

Territory-capturing board game

  • JavaProgramming language from Sun
  • PythonLarge nonvenomous squeezer
  • C++Object-oriented systems language

Node.js · plugin · SDK · library · reflection · retry · timeout · TLS · authentication · authorization

Categories
Opposites
api architectural style

gRPCREST

Web service design paradigm

SOAP

data serialization efficiency

gRPCJSON

Lightweight data interchange format

XML · plain text · YAML · CSV

communication pattern

gRPCKafka

Czech-Jewish literary surname

webhooks · polling · WebSocket

Family

remote, procedure, call, remotely, remoteness, procedural, procedures, procedurally, calling

Familiarity
Top 2,000,000
Profile
Used worldwide · Abstract · Rated G