Remote calls that feel local — Protobuf payloads over HTTP/2, four streaming shapes, deadlines, status codes, and interceptors
What gRPC actually is: Protobuf for the bytes, HTTP/2 for the transport, and generated stubs that turn a network call into a method call. Read this first.
Unary, server-streaming, client-streaming, and bidirectional — the .proto, the semantics, and the code for each.
Why an absolute deadline that propagates across hops beats a pile of per-hop timeouts and retries.
The 17-code status model, rich error details, and how it maps back onto HTTP status codes.
Headers-as-metadata and interceptors for auth, logging, and retries — the cross-cutting layer.
Payload, transport, streaming, browser reach, tooling, debuggability — and the cases where plain REST/JSON still wins.