Merb + Nanite
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Merb + Nanite

  • 15,076 views
Uploaded 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

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
15,076
On Slideshare
12,254
From Embeds
2,822
Number of Embeds
40

Actions

Shares
Downloads
199
Comments
1
Likes
16

Embeds 2,822

http://brainspl.at 2,586
http://blog.engineyard.com 67
http://www.brainspl.at 38
http://www.engineyard.com 28
http://www.merboverheard.com 20
http://www.slideshare.net 16
http://web.archive.org 8
http://merboverheard.com 8
http://mublag.boinkor.net 5
http://www.soup.io 5
http://0.0.0.0 4
https://blog.engineyard.com 4
http://www.techgig.com 3
http://antifuchs.soup.io 3
http://www.lotteryresultsbyemail.co.uk 2
http://planetrails.digitalcodes.org 1
http://planet.o9y.net 1
http://planetrubyonrails.net 1
http://www.el-gordolottery.com 1
http://www.newsgator.com 1
http://webcache.googleusercontent.com 1
http://fanyi.youdao.com 1
http://bgror.com 1
https://www.engineyard.com 1
http://www.hanrss.com 1
http://www.euromillions2009.com 1
http://www.resultseuromillions.co.uk 1
http://electricsheep.wikispaces.com 1
http://spatialmediagroup.wikispaces.com 1
http://www.lotterydvd.com 1
http://mathias.soup.io 1
http://non_humana.soup.io 1
http://metalab.soup.io 1
http://sofias.soup.io 1
http://www.planetlotto.co.uk 1
http://static.slideshare.net 1
http://www.elotteryforums.com 1
http://www.lotteryresults2009.com 1
http://www.euromillionsresults2009.com 1
http://ec2-174-129-7-73.compute-1.amazonaws.com 1

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?