The one change I might suggest is not to have message delivery not be a
method on the actor. That is instead of writing "tom.tell('bob', message);"
it would either 1) use the director "director.tell('bob', message)" or 2)
have the director return an actor reference (to allow runtime switching
between local and remote actors) that can then be used to send messages
"var bobRef = director.getActorRef('bob'); bobRef.tell(message)". The
current ability to tell any actor to send a message anywhere I find makes
for code that is harder to follow and test.-- Daniel R. <[email protected]> [http://danielr.neophi.com/] On Wed, Feb 6, 2013 at 12:09 AM, Jacob Groundwater <[email protected]>wrote: > Hello everyone, I wanted to share a module I've been working on called > Federation. > > Federation is a message network that works cross-process and cross-host. > > - Project http://underflow.ca/federation/ > - Github https://github.com/jacobgroundwater/federation > > It's loosely actor-based; you can create as many actors as you wish, and > give them any names you like. Actors can send message to each other by > name, regardless of their location on the network. > > On a single process, Federation works with zero configuration. It can be > expanded to multiple processes quite easily with a single routes file. > Federation separates out host-to-host-wiring from the application logic. > You can re-arrange your hosts without rewriting your code. > > Federation supports peer-to-peer messaging, as well as routed messaging. > The actual network transport is done via HTTP, or Axon. New transport > protocols can also be written quickly. > > My goal with Federation was to build upon a library like Axon. Axon is > great for peer-to-peer messaging, but what I needed was a way to multiplex > messages over a single socket. The project started as a multiplexer, but > grew to fit what I think is a good set of use-cases. > > I would love for people to give it a test. I have included several key > examples that are immediately runnable. For the multi-process examples I > recommend starting the example with Node-Foreman. Examples include: > > - simple, one-off messaging > - request-reply pattern > - routed messaging via central server > - multi-process via axon > - multi-process via http > > This project is in its initial stages, and I would love to find some early > adopters. I am happy to answer any questions, thanks! > > - Jacob Groundwater > > -- > -- > Job Board: http://jobs.nodejs.org/ > Posting guidelines: > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > You received this message because you are subscribed to the Google > Groups "nodejs" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en > > --- > You received this message because you are subscribed to the Google Groups > "nodejs" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
