SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
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?

Más contenido relacionado

Destacado

Monoculture and as
Monoculture and asMonoculture and as
Monoculture and as
idisdvo
 
Biodiversity and Monocultures
Biodiversity and MonoculturesBiodiversity and Monocultures
Biodiversity and Monocultures
OhMiss
 
Class4 Insecticides&Fungicides
Class4 Insecticides&FungicidesClass4 Insecticides&Fungicides
Class4 Insecticides&Fungicides
sherylwil
 
Insecticide act,1968
Insecticide act,1968Insecticide act,1968
Insecticide act,1968
ganudhan
 
Science grade 8 module table of contents
Science grade 8 module  table of contentsScience grade 8 module  table of contents
Science grade 8 module table of contents
sherwen
 
Human activities that affect natural ecosystems
Human activities that affect natural ecosystemsHuman activities that affect natural ecosystems
Human activities that affect natural ecosystems
Nguyen Hieu
 
Human Impact On The Environment
Human Impact On The EnvironmentHuman Impact On The Environment
Human Impact On The Environment
sacklax40
 

Destacado (15)

Monoculture and as
Monoculture and asMonoculture and as
Monoculture and as
 
Monoculture vs. Polyculture - Economics of Agricultural Practices
Monoculture vs. Polyculture - Economics of Agricultural PracticesMonoculture vs. Polyculture - Economics of Agricultural Practices
Monoculture vs. Polyculture - Economics of Agricultural Practices
 
Biodiversity and Monocultures
Biodiversity and MonoculturesBiodiversity and Monocultures
Biodiversity and Monocultures
 
Class4 Insecticides&Fungicides
Class4 Insecticides&FungicidesClass4 Insecticides&Fungicides
Class4 Insecticides&Fungicides
 
Insecticide act,1968
Insecticide act,1968Insecticide act,1968
Insecticide act,1968
 
Human Impact on Ecosystems
Human Impact on EcosystemsHuman Impact on Ecosystems
Human Impact on Ecosystems
 
insecticides
 insecticides insecticides
insecticides
 
Human activities and natural resources
Human activities and natural resourcesHuman activities and natural resources
Human activities and natural resources
 
Science grade 8 module table of contents
Science grade 8 module  table of contentsScience grade 8 module  table of contents
Science grade 8 module table of contents
 
How do people destroy natural resources
How do people destroy natural resourcesHow do people destroy natural resources
How do people destroy natural resources
 
Pesticides
PesticidesPesticides
Pesticides
 
Human activities that affect natural ecosystems
Human activities that affect natural ecosystemsHuman activities that affect natural ecosystems
Human activities that affect natural ecosystems
 
Human Impact On The Environment
Human Impact On The EnvironmentHuman Impact On The Environment
Human Impact On The Environment
 
K to 12 - Grade 8 Science Learner Module
K to 12 - Grade 8 Science Learner ModuleK to 12 - Grade 8 Science Learner Module
K to 12 - Grade 8 Science Learner Module
 
G7 science student modules 3rd & 4th qrtr
G7 science student modules  3rd & 4th qrtrG7 science student modules  3rd & 4th qrtr
G7 science student modules 3rd & 4th qrtr
 

Similar a Merb + Nanite

Rubymanor - Nanite talk
Rubymanor - Nanite talkRubymanor - Nanite talk
Rubymanor - Nanite talk
Georgio_1999
 
Practical Intro Merb
Practical Intro MerbPractical Intro Merb
Practical Intro Merb
Paul Pajo
 
Merb Presentation
Merb PresentationMerb Presentation
Merb Presentation
gueste4d7fc
 
Mongrel Handlers
Mongrel HandlersMongrel Handlers
Mongrel Handlers
nextlib
 
02s0102基于rails的大型b2 b系统架构优化 于冰赵晓锋
02s0102基于rails的大型b2 b系统架构优化   于冰赵晓锋02s0102基于rails的大型b2 b系统架构优化   于冰赵晓锋
02s0102基于rails的大型b2 b系统架构优化 于冰赵晓锋
victor dong
 
02s0102基于rails的大型b2 b系统架构优化 于冰赵晓锋
02s0102基于rails的大型b2 b系统架构优化   于冰赵晓锋02s0102基于rails的大型b2 b系统架构优化   于冰赵晓锋
02s0102基于rails的大型b2 b系统架构优化 于冰赵晓锋
jackdong
 
Ruby on rails探索
Ruby on rails探索Ruby on rails探索
Ruby on rails探索
Mu Chun Wang
 
Rails Conf Europe 2007 Notes
Rails Conf  Europe 2007  NotesRails Conf  Europe 2007  Notes
Rails Conf Europe 2007 Notes
Ross Lawley
 

Similar a Merb + Nanite (20)

Merb For The Enterprise
Merb For The EnterpriseMerb For The Enterprise
Merb For The Enterprise
 
Merb presentation at ORUG
Merb presentation at ORUGMerb presentation at ORUG
Merb presentation at ORUG
 
Rubymanor - Nanite talk
Rubymanor - Nanite talkRubymanor - Nanite talk
Rubymanor - Nanite talk
 
Practical Intro Merb
Practical Intro MerbPractical Intro Merb
Practical Intro Merb
 
Practical Intro Merb
Practical Intro MerbPractical Intro Merb
Practical Intro Merb
 
Merb Presentation
Merb PresentationMerb Presentation
Merb Presentation
 
Ruby Deployment
Ruby DeploymentRuby Deployment
Ruby Deployment
 
meetPHP#8 - PHP startups prototypes
meetPHP#8 - PHP startups prototypesmeetPHP#8 - PHP startups prototypes
meetPHP#8 - PHP startups prototypes
 
Intro to Merb
Intro to MerbIntro to Merb
Intro to Merb
 
The bigrabbit
The bigrabbitThe bigrabbit
The bigrabbit
 
Mongrel Handlers
Mongrel HandlersMongrel Handlers
Mongrel Handlers
 
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory CourseRuby on Rails 101 - Presentation Slides for a Five Day Introductory Course
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
 
02s0102基于rails的大型b2 b系统架构优化 于冰赵晓锋
02s0102基于rails的大型b2 b系统架构优化   于冰赵晓锋02s0102基于rails的大型b2 b系统架构优化   于冰赵晓锋
02s0102基于rails的大型b2 b系统架构优化 于冰赵晓锋
 
02s0102基于rails的大型b2 b系统架构优化 于冰赵晓锋
02s0102基于rails的大型b2 b系统架构优化   于冰赵晓锋02s0102基于rails的大型b2 b系统架构优化   于冰赵晓锋
02s0102基于rails的大型b2 b系统架构优化 于冰赵晓锋
 
Deployment with Ruby on Rails
Deployment with Ruby on RailsDeployment with Ruby on Rails
Deployment with Ruby on Rails
 
%w(map reduce).first - A Tale About Rabbits, Latency, and Slim Crontabs
%w(map reduce).first - A Tale About Rabbits, Latency, and Slim Crontabs%w(map reduce).first - A Tale About Rabbits, Latency, and Slim Crontabs
%w(map reduce).first - A Tale About Rabbits, Latency, and Slim Crontabs
 
Ruby on rails探索
Ruby on rails探索Ruby on rails探索
Ruby on rails探索
 
The Beginning - Jan 20 2009
The Beginning - Jan 20 2009The Beginning - Jan 20 2009
The Beginning - Jan 20 2009
 
Deploying And Monitoring Rails
Deploying And Monitoring RailsDeploying And Monitoring Rails
Deploying And Monitoring Rails
 
Rails Conf Europe 2007 Notes
Rails Conf  Europe 2007  NotesRails Conf  Europe 2007  Notes
Rails Conf Europe 2007 Notes
 

Más de Ezra Zygmuntowicz (8)

Redis: REmote DIctionary Server
Redis: REmote DIctionary ServerRedis: REmote DIctionary Server
Redis: REmote DIctionary Server
 
Where do I put this data? #lessql
Where do I put this data? #lessqlWhere do I put this data? #lessql
Where do I put this data? #lessql
 
Railsconf
RailsconfRailsconf
Railsconf
 
Erlangfactory
ErlangfactoryErlangfactory
Erlangfactory
 
Vertebra
VertebraVertebra
Vertebra
 
Vertebra
VertebraVertebra
Vertebra
 
Merb Core
Merb CoreMerb Core
Merb Core
 
Custom Mongrel Handlers: Learning how to walk the dog
Custom Mongrel Handlers: Learning how to walk the dogCustom Mongrel Handlers: Learning how to walk the dog
Custom Mongrel Handlers: Learning how to walk the dog
 

Último

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Merb + Nanite