Skip to content

gRPC Design — From Zero to Hero

A standalone, beginner→advanced course on designing APIs with gRPC and Protocol Buffers. From the RPC model and protobuf schemas to streaming, deadlines, interceptors, load balancing, security, and gRPC-Web — every topic with the .proto contract and Go, Python, and Node examples side by side.

gRPC Foundations

What gRPC is, the RPC model, why it rides on HTTP/2, and how it compares to REST. Start →

Protocol Buffers

Messages & field numbers, scalar types, enums, oneof, maps, well-known types, and evolving schemas safely. Model →

Service Definition

Defining services, the four RPC types, designing method signatures, and the error/status model. Design →

Building Services

Code generation with protoc, implementing a server, writing a client, deadlines & cancellation. Build →

Streaming

Server, client, and bidirectional streaming — and the flow control that keeps them healthy. Stream →

Production Concerns

Interceptors, TLS & auth, metadata, load balancing, and health checking. Ship →

Ecosystem & Advanced

gRPC-Web in the browser, REST/JSON transcoding, versioning at scale, observability & testing. Extend →

Contract-first, always

Every lesson starts from the .proto — the language-neutral contract — then shows the generated server and client so you see how the schema drives the code.

Three languages side by side

Server and client examples in Go, Python, and Node (TypeScript) through synced tabs — pick your language once and follow it everywhere.

Design, not just syntax

Every topic covers the why and the trade-offs — when to stream, how to set deadlines, how to evolve a schema without breaking clients.

Diagrams that explain

The RPC lifecycle, HTTP/2 multiplexing, the four call types, and interceptor chains as theme-aware Mermaid diagrams. Bilingual (English / ไทย) with saved quiz progress.