Skip to content

Instantly share code, notes, and snippets.

@dgtm
Created March 15, 2013 04:47
Show Gist options
  • Select an option

  • Save dgtm/5167551 to your computer and use it in GitHub Desktop.

Select an option

Save dgtm/5167551 to your computer and use it in GitHub Desktop.
Muddling with Modules
Goals:
How do most of us use modules?
How do we change the way we use modules?
Topics:
Including/Extending
Namespacing
Mixing In
Modules instead of Monkey Patches
Extending Functionality with Modules
Extending in Objects
Samples of Code where module was efficient
Scaling with Ruby
Goals:
How we are scaling our applications?
How can we scale our applications?
Topics:
Horizontal vs Vertical Scaling
Problems with Horizontal Scaling
Benfits of Vertical Scaling
Why vertical scaling is hard?
Processes vs Threads in Ruby
Blocking/Non-Blocking IO in Ruby
What are the ways to scale?
Scaling with processes
Evented IO
Threads
EventMachine
Celluloid
How can other Ruby implementations help?(JRuby/Rubinius)
Sidekiq
Goals
What is the preference for our Background Processing? (Resque)
How can Sidekiq help?
Topics
Why Resque is dying?
Threads iz the new hotnesss!!!
Actor based Concurrency
Sidekiq's Architecture and Celluloid
Sidekiq's Flexibility
Custom Middlewares in Sidekiq
Error Handling in Sidekiq
Performance Metrics from our own experience
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment