~/talk

Dos and Don’ts: Designing an XDS Backend for the LinkedIn Scale

Talkat gRPConf 2024 · on Tuesday, 2024-08-27· at 14:05· Valley Oak· [networking]
links:none on file
slides:none on file

LinkedIn implements a custom xDS control plane that serves rest.li, Envoy and gRPC clients, migrates registration from Zookeeper to Kafka, and open‑sources the control plane. Rollout reveals a 10x traffic skew caused by DNS ordering and RFC 3484 IPv6 address sorting under the default pick_first; switching to round_robin then exhausts memory because each client eagerly opens connections to every target, filling TLS buffers. Interim fixes include a server banlist that kills reconnecting clients and dynamic DNS removal while shuffled pick_first and connection‑reuse changes roll out.

AI-written summary · about

  1. 0:00LinkedIn’s XDS control plane intro
  2. 1:05Why LinkedIn built XDS control plane
  3. 3:17ZooKeeper to Kafka migration
  4. 4:00Traffic issues with gRPC pick-first
  5. 5:24RFC 3484 IPv6 skew
  6. 7:12Round-robin gRPC memory issue
  7. 9:40Banning clients for XDS streams
  8. 11:49gRPC shuffled pick-first solution
  9. 12:52Dynamic DNS removal fix
  10. 13:55Traffic distribution improvements
  11. 14:16Dero control plane optimizations
  12. 15:19Zero-copy gRPC buffer reuse
  13. 16:03Closing remarks
  14. 16:49Q&A on XDS design
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.