~/talk

Asynchronous Processing for Fun and Profity

Talkat RubyConf 2012 · 2012-11-01..11-03· [distributed-systems, microservices]
slides:none on file

Argues that background work must use tiny, stateless messages (store data in DB, pass IDs) and id-based lookups to avoid stale state, and that jobs must be idempotent and transactional because the processor retries with exponential backoff. Demonstrates a multi-threaded Redis-backed processor called sidekick using Celluloid with ~25 threads per process (four procs → ~100 concurrent workers) that beats process-per-worker systems, saved one user thousands in hosting, but also once knocked over a third‑party API by running 500 jobs at once.

AI-written summary · about

  1. 0:00Start
  2. 2:02Why?
  3. 3:23How?
  4. 8:28Tip #1
  5. 8:39Stateless
  6. 9:24Avoid State
  7. 10:03Simple Types
  8. 10:21Debugging
  9. 11:09Tip #2
  10. 11:57Not Idempotent!
  11. 14:11Tip #3
  12. 18:11Concurrency . To scale single-threaded, create lots of
  13. 19:04Threads vs Processes
  14. 19:53Quick Rant
  15. 21:08Client
  16. 21:45Server
  17. 23:03Versions
  18. 26:21Pro Future
  19. 26:40Conclusion
  20. 31:36Transactional
~/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.