A downed server can't communicate, so it's impossible to transfer its state 
at that point. Thus it's better to have the servers check in with the 
"global state" frequently (i.e., redis) to prevent data/state loss.

Then what happens when redis master goes down? My solution is to implement 
high-availability on the redis client level, which enables redis slaves to 
take over for a downed redis master: https://github.com/carlos8f/haredis

I also developed a suite of modules called Amino (using haredis) which make 
it easy to create a failover-enabled cluster of node processes: 
https://github.com/amino/amino With this you don't need the core cluster 
module. You can have node processes across any number of physical servers, 
when node processes start up they are automatically added to the service 
pool, and removed when processes exit / become unavailable. The only 
configuration each process needs is a list of redis servers to use for 
global state (master is detected automatically by haredis).

good luck :)

On Thursday, September 20, 2012 6:15:39 AM UTC-7, Dave Horton wrote:
>
> Are there any features in node relating to high availability or failover 
> of a server?  I would like to be able to run a cluster of node servers 
> (either physical or virtual) such that if any one dies the others will take 
> over processing, including maintaining the state of running applications on 
> the downed server.  In the simplest case, two servers share a virtual IP 
> and if one fails the other takes over the IP and my node applications keep 
> running on the other server.  Anything like this exist, or in the works? 
>  Or is there alternative "best practice" on achieving this type of 
> reliability?  Does v8 have any features to migrate a running execution 
> context between servers?
>

-- 
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 nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to