A Case Study of Enhancing gRPC Micro-Services for Supporting High Throughput, Low Latency Trading
summary
Coinbase’s Golang gRPC trading stack moves from unary RPCs to a three-goroutine bi-directional streaming pattern with two channels and a busy‑spin coordinator to eliminate tens of thousands of ephemeral goroutines, preventing throughput plateaus and tail latency spikes; it swaps Protobuf for FlatBuffers to avoid repeated (de)serialization and claims 7x end-to-end latency reduction (20x receive, 15x internal, 2.5x send) while supporting live, zero‑downtime rollout and A/B compatibility at up to 100K RPS.
AI-written summary · about
chapters (7)
- 0:00Case study introduction
- 1:46Trading systems single-thread
- 8:17Unary to bidirectional streaming
- 13:42Protobuf to FlatBuffers
- 18:24Load testing results
- 19:26gRPC wish list
- 21:52Q&A
related talks
26mAdopting gRPC for Low Latency, High Bandwidth Scenarios
46mIntroduction to gRPC
35mEvolving Critical Systems With gRPC: Bidirectional at Scale — What Works, What Hurts, What’s Next?
50mEnabling Googley microservices with gRPC
47mMonolith to Microserv. at 20M+ requests per second: Latency and Scale Challenges
33m"RPC frameworks overview"
55mForget about HTTP
31mCloud Native Communication Patterns with gRPC
