Adopting gRPC at Spotify
summary
Spotify replaces an internal 0MQ-based protocol called Hermes with gRPC (HTTP/2 + protobufs) across ~2,500 backend services supporting ~1,000 developers, with roughly 900 services still to migrate. Migration builds a shared-protos repo as the source of truth, generates language-specific stubs, and adds linting/backwards-compat checks; introduces deadlines, retries and backup read requests for tail-latency, retry-throttling and lookaside load‑balancing; migrates high‑traffic proxies like metadata first to unblock clients, reduces boilerplate and improves observability, but the rollout is ongoing.
AI-written summary · about
chapters (28)
- 0:00Introduction
- 2:30Our infrastructure
- 3:50What is Hermes
- 4:35What is 0MQ
- 5:10Hermes
- 5:30Why are we changing
- 6:25The ecosystem
- 7:25Not invented yet
- 8:30Cloud native
- 9:40Basic gRPC
- 11:10protobuf
- 11:30Metadata API
- 14:20Golang
- 15:25Comments
- 16:05Learnings
- 18:55Prototool
- 19:15Improve resiliency
- 19:35Deadlines
- 21:25Retries
- 21:40Hatching
- 22:25Retry throttling
- 23:40Load balancing
- 25:30Migration
- 27:00Change Management
- 28:00Golden Paths
- 29:20Stack Overflow
- 30:00Unblocking early adopters
- 33:35Developer experience
related talks
35mThe Story of why we migrate to gRPC and how we go about it
29mThe Story of Why We Migrate to gRPC and How We Go About It
30mOops!...I Did It Again — I Reinvented gRPC
24mgRPC Proxyless Service Mesh
46mIntroduction to gRPC
21mReal World Migration from HTTP to gRPC in Ruby
49mMicroservices at Spotify
33m"RPC frameworks overview"
