Your SlideShare is downloading. ×
Merb + Nanite
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Merb + Nanite

11,933

Published on

This is my keynote from MerbCamp, where I talk about merb past and present as well as introduce nanite a self assembling cluster of ruby processes

This is my keynote from MerbCamp, where I talk about merb past and present as well as introduce nanite a self assembling cluster of ruby processes

Published in: Technology, Business
1 Comment
16 Likes
Statistics
Notes
No Downloads
Views
Total Views
11,933
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
199
Comments
1
Likes
16
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Merb then and now Ezra Zygmuntowicz http://engineyard.com
  • 2. Merb Then Sept 21st 2006 http://pastie.org/14416 AKA Baby Merb
  • 3. Merb Now • merb-core • merb-action-args • merb-haml • merb-assets • merb-helpers • merb-auth • merb-jquery • merb-builder • merb-mailer • merb-cache • merb-parts • merb-gen • merb-slices
  • 4. Core Tenets of Merb
  • 5. Merb should be fast (no code is faster then no code)
  • 6. Merb should be memory efficient
  • 7. Merb code should be as simple as possible
  • 8. Merb should be modular
  • 9. Merb should be easy to grok and extend (by hackers for hackers)
  • 10. Merb should focus on the application server as well as the web framework
  • 11. Merb should get out of your way and be *flexible*
  • 12. Most Importantly Merb should be an experimentation ground
  • 13. Why not just work on rails?
  • 14. Monoculture is bad
  • 15. Everyone wins when there is competition
  • 16. Lot’s of merb’s lessons can be applied back to rails
  • 17. Merb-1.0RC drops tomorrow! Huge thanks to the community and all contributors
  • 18. merb-stack: training wheels included
  • 19. Now with that out of the way...
  • 20. Introducing Nanite
  • 21. Nanite is a new way of building scalable backends for web apps
  • 22. Built around RabbitMQ • Written in erlang, clusterable, highly scalable, fast as hell. • AMQP protocol provides many nice features • Transient, Persistent and Transactional semantics
  • 23. <3 RabbitMQ
  • 24. Nanite agents consist of multiple Actors
  • 25. Nanite agents advertise their services and status Feeds#crawl advertises: /feeds/crawl Load average is advertised as default status
  • 26. Nanite Mappers Track nanites and their advertised services and status Can do dispatch based on a number of factors Run inside your Merb or Rails app State of all nanites is replicated across all mappers
  • 27. Multiple Dispatch Styles
  • 28. Least loaded dispatch and the fitness function
  • 29. Agents ping the mapper exchange every @ping_time seconds. Mappers track the state of all nanites and remove them from mapping if they haven’t reported in within a timeout
  • 30. Nanite gives us: • Presence, we know when nanites are ready for requests or not. • Self assembly, nanites can come and go and can run anywhere with zero configuration in the mappers. • Dispatch based on load or any fitness function that suits your app • Easily take advantage of cloud
  • 31. File Streaming
  • 32. Nanite makes it easy to scale web app backends Git it on GitHub: http://github.com/ezmobius/nanite
  • 33. Questions?

×