gRPC Documentation — Introduction and Core Concepts

Official gRPC documentation covering the introduction and core concepts, at https://grpc.io/docs/what-is-grpc/introduction/ and https://grpc.io/docs/what-is-grpc/core-concepts/.

Summary

gRPC is a high-performance, open-source RPC framework that uses Protocol Buffers as IDL and HTTP/2 as transport. It enables a client to call a server method as if it were local. Services and messages are defined in .proto files; protoc generates type-safe client stubs and server interfaces in 11+ languages.

Key Takeaways

  • Four streaming modes: Unary, server streaming, client streaming, bidirectional streaming.
  • HTTP/2 benefits: multiplexing, header compression, binary framing, native flow control.
  • Protocol Buffers: binary, compact, strongly typed; fields are numbered for schema evolution.
  • Deadlines and cancellation: first-class features for timeout and lifecycle management.
  • Metadata: arbitrary key-value pairs for auth tokens and call context.
  • Channels: connection abstraction that supports load balancing and state management.
  • Supported languages: Java, Go, Python, Ruby, C++, C#, Kotlin, Dart, Node, PHP, Objective-C, Swift.

Wiki Pages That Cite This Source