gRPC

High-performance service-to-service APIs: Protocol Buffers schemas, unary and streaming RPCs, deadlines and status codes, authentication and interceptors, load balancing and production practices.

Start course →

What you'll learn

  • Explain how gRPC uses HTTP/2 and Protocol Buffers, and when it fits better than REST or GraphQL.
  • Write .proto files with messages, enums, oneofs and services that evolve without breaking clients.
  • Implement unary and streaming RPCs and generate client and server code.
  • Use deadlines, status codes, retries, metadata, TLS and interceptors correctly.
  • Run gRPC services in production with load balancing, health checks, observability and browser access.

Syllabus

gRPC Foundations

  1. What gRPC Is
  2. HTTP/2 and Protocol Buffers
  3. When to Use gRPC

Protocol Buffers

  1. Messages and Field Numbers
  2. Enums, oneof, maps and Well-Known Types
  3. Evolving Schemas Safely

Services and Code Generation

  1. Defining Services and RPC Types
  2. Generating Code
  3. A Unary RPC End to End

Streaming RPCs

  1. Server Streaming
  2. Client Streaming
  3. Bidirectional Streaming

Deadlines, Errors and Retries

  1. Deadlines and Cancellation
  2. Status Codes and Rich Errors
  3. Retries and Idempotency

Metadata, Security and Interceptors

  1. Metadata
  2. TLS, mTLS and Token Authentication
  3. Interceptors

Load Balancing, Browsers and Tooling

  1. Load Balancing gRPC
  2. Browsers, gRPC-Web, Connect and Gateways
  3. Health Checks, Reflection and Tools

gRPC in Production

  1. Observability
  2. API Design Conventions
  3. Testing gRPC Services
  4. A gRPC Service Checklist