Doug Fawley, tech lead of the golang native implementation of gRPC at Google, discusses gRPC with host Robert Blumen. They examine remote procedure calls generally, as well as the evolution of RPC technologies at Google, the benefits of HTTP/2 as the foundation of an RPC stack, and what HTTP/2 contributes to gRPC (security, flow control, load balancing, concurrency). They delve into value-added features in the gRPC layer on top of HTTP/2; encoding; the protobuf serialization; interface definition for protobuf; pluggable serialization; type checking, versioning, and how to evolve interfaces in a distributed system; differences between local and remote procedure calls; failure modes and error checking with RPCs; use cases of RPCs in the microservices architecture; javascript and browser (lack of) support; unary and streaming modes; the streaming use case; gRPC as a pub-sub bus; and a comparison to REST.
Show Notes
Related Links
- gRPC project
- gRPC open source projects
- Doug Fawley on github
- SE Radio 232: Mark Nottingham on HTTP/2
- SE Radio 213: James Lewis on Microservices
- SE Radio 337: Ben Sigelman on Distributed Tracing
SE Radio theme: “Broken Reality” by Kevin MacLeod (incompetech.com — Licensed under Creative Commons: By Attribution 3.0)