~/talk

Mo' Jobs Mo' Problems: Lessons Learned Scaling to Millions of Jobs an Hour

Talkat Big Ruby 2014 · 2014-02-20..02-21· [ruby]
speakerdeck:tannerburson
slides:none on file

Builds a concrete story: moves from syslog loss to replacing pipelines with RabbitMQ for durable event ingest and SQS for cheap highly available queues, implements a custom processor called chore, and proves it handles over a million jobs an hour. Explains specific failures encountered — Ruby system stack errors, DNS C extensions blocking the GIL, fork mutex races, pipe IPC bottlenecks — and the exact tradeoffs and concurrency choices that finally scale and stabilize the system.

AI-written summary · about

  1. 0:00Intro
  2. 1:04What is Tapjoy
  3. 2:20Background
  4. 2:38Everything was going well
  5. 2:49Good news
  6. 3:59Our fault
  7. 4:50Event processing
  8. 5:56This is not awesome
  9. 6:07Change is hard
  10. 6:25Message queues
  11. 6:54Cues
  12. 7:55Durability
  13. 8:23Availability
  14. 9:01Cost
  15. 9:34Three choices
  16. 10:25Breaking down Rabbit
  17. 11:03Breaking down SQS
  18. 11:48Breaking down Redis
  19. 12:50Two use cases
  20. 13:54Ruby Conference
  21. 14:48What is a Job Processor
  22. 15:13What is Scale
  23. 15:44Ruby Concurrency
  24. 16:37Rabbit Problems
  25. 17:38Fibers
  26. 22:20What we learned
  27. 23:10What it takes to process jobs
  28. 23:50SQS
  29. 24:48Concurrency
  30. 25:00Threads
  31. 26:39Forks
  32. 27:14Using Threads
  33. 29:01Problems
  34. 34:38Bugs
  35. 35:30Lessons Learned
  36. 37:20Job Queue Library
  37. 38:43Job Queue Issues
  38. 40:45Job Processing Lessons
  39. 42:58Outro
~/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.