SRE Your gRPC—Building Reliable Distributed Systems Illustrated with gRPC
summary
Adds a translator backend to a simple C++ gRPC greeter and shows concrete reliability fixes: set and propagate explicit deadlines (configurable via a flag), use wait_for_ready false to fail fast and fall back, prefer weighted round robin or seeded shuffled subsets for spreading connections, and copy client context into downstream RPCs so deadlines actually enforce. Instrumentation uses two-line Prometheus interceptors on server and client, sample logs rather than sync-every-error, and measure latency breakdowns to know which component to fix.
AI-written summary · about
chapters (14)
- 0:00Introduction and rules
- 1:26Protocol buffers usage
- 4:02Implementing RPC clients
- 6:20Load balancing strategies
- 10:41Subsetting connections
- 13:43Setting RPC deadlines
- 17:35Handling backend failures
- 23:21Graceful degradation
- 26:23Failure mitigation
- 28:38System health management
- 31:47Metrics and monitoring
- 36:15Tracing and debugging
- 37:55Data analysis and graphing
- 42:26Conclusion and Q&A
related talks
58mSRE Your gRPC...
33mIntro to gRPC
25mEnabling Distributed Transactions Across Microservices Using gRPC
35mLooking at SRE Needs and Trends over Two Decades with a...
35mEvolving Critical Systems With gRPC: Bidirectional at Scale — What Works, What Hurts, What’s Next?
04mProject Lightning Talk: Essential Resources for gRPC Development
32mgRPC Deep Dive: Prevent Your Service From Overtaking Itself
57mReliability Nirvana
