Merb + Nanite

50 %
50 %
Information about Merb + Nanite
Technology

Published on October 11, 2008

Author: ezmobius

Source: slideshare.net

Description

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

Merb then and now Ezra Zygmuntowicz http://engineyard.com

Merb Then Sept 21st 2006 http://pastie.org/14416 AKA Baby Merb

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

Core Tenets of Merb

Merb should be fast (no code is faster then no code)

Merb should be memory efficient

Merb code should be as simple as possible

Merb should be modular

Merb should be easy to grok and extend (by hackers for hackers)

Merb should focus on the application server as well as the web framework

Merb should get out of your way and be *flexible*

Most Importantly Merb should be an experimentation ground

Why not just work on rails?

Monoculture is bad

Everyone wins when there is competition

Lot’s of merb’s lessons can be applied back to rails

Merb-1.0RC drops tomorrow! Huge thanks to the community and all contributors

merb-stack: training wheels included

Now with that out of the way...

Introducing Nanite

Nanite is a new way of building scalable backends for web apps

Built around RabbitMQ • Written in erlang, clusterable, highly scalable, fast as hell. • AMQP protocol provides many nice features • Transient, Persistent and Transactional semantics

<3 RabbitMQ

Nanite agents consist of multiple Actors

Nanite agents advertise their services and status Feeds#crawl advertises: /feeds/crawl Load average is advertised as default status

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

Multiple Dispatch Styles

Least loaded dispatch and the fitness function

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

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

File Streaming

Nanite makes it easy to scale web app backends Git it on GitHub: http://github.com/ezmobius/nanite

Questions?

Add a comment

Related presentations

Related pages

Merb + Nanite - HubSlide

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
Read more

MerbCamp Keynote and Introducing Nanite - blog.engineyard.com

Just a quick post to share some news. I just finished giving my keynote at MerbCamp about past and present merb and the core tenets of merb development. I ...
Read more

GitHub - ezmobius/nanite: self assembling fabric of ruby ...

Nanite is a new way of thinking about building cloud ready web applications. Having a scalable message queueing back-end with all the discovery and dynamic ...
Read more

Merbcamp - notes from the edge - Glenn Gillen

Merbcamp - notes from the edge. ... Nanite. A "self-assembling ... just dial up merb web servers as nanite agents and scale your site on demand at the ...
Read more

Talk:Merb - Wikipedia, the free encyclopedia

Talk:Merb WikiProject Computing / Software (Rated ... You may be thinking of the Nanite presentation, ... Not only is Merb definitely written in Ruby, ...
Read more

Nanite: Self Assembling Cluster of Ruby Daemons

It was with much excitement that Merbcamp started yesterday with a keynote from Ezra Zygmuntowicz, initial creator of the Merb Web application framework.
Read more

MerbCamp Keynote and Introducing Nanite | Hacker News

Congrats on Merb 1.0!!! I'm looking forward to a somewhat stable 1.0RC. Nanite does look interesting. I did quite a bit a of erlang work a few years ago.
Read more

Re: [web2py] Re: Python Message Queue - Google Groups

> http://www.slideshare.net/ezmobius/merb-nanite-presentation > > > Thank you, > Best regards > > On Nov 20, 11:36 pm, mdipierro Read more

Merb news nov-16-2008 | Matt Aimonetti

Merb news nov-16-2008. ... Thomas Meeks gave a great talk on Nanite. ... The whole Merb vs Rails drama is funny – I don’t know why DHH seems to ...
Read more