Signals and Threads

Swapping the Engine Out of a Moving Race Car with Ella Ehrlich

35 snips
Sep 12, 2022
Ask episode
AI Snips
Chapters
Transcript
Episode notes
INSIGHT

Overly Flexible Types Blocked Real Evolution

  • GORD originally used large gooey top-level types with string->string maps to avoid client versioning headaches.
  • That flexibility prevented schema evolution of first-class message types and forced hacks like embedding rejects in order fields.
INSIGHT

Scale By Parallelizing Per-Source Pipelines

  • GORD parallelizes by upstream source pipelines; a single parser-DB-normalizer pipeline handles ~25k–50k msgs/sec and horizontal scaling adds capacity.
  • This per-source ordering model trades global ordering for scalable throughput.
ADVICE

Switch Fanout To A Pull-Based Message Bus

  • Replace push-to-many TCP client delivery with a message queue so slow consumers fall behind instead of causing buffering or kills.
  • Ella's team migrated to Kafka so clients pull messages and snapshots can be preproduced once.
Get the Snipd Podcast app to discover more snips from this episode
Get the app