created on 15 Oct 2008, by Syndication, read more…
Nanite: self assembling fabric of ruby daemons
A Nanite system has two types of components. There are nanite agents, these are
the daemons where you implement your code functionality as actors. And then
there are mappers.
Mappers are the control nodes of the system. There can be any number of
mappers, these typically run inside of your merb or rails app running on the
thin webserver(eventmachine is needed) But you can also run command line
mappers with a shell into the system.
Each nanite agent sends a Ping to the mapper exchange every @ping_time seconds. All of the mappers are subscribed to this exchange and so they all get a copy of the Ping with your status update. If the mappers do not get a ping from a certain agent within a timeout @ping_time the mappers will remove said agent from any dispatch.