distributed application - replication of state

Ulf Wiger (AL/EAB) <>
Thu Aug 25 14:07:15 CEST 2005


One way to do it is to simply pass some payload 
in your UDP heartbeats. It doesn't matter much if
some of the packets are lost, since you keep 
sending them, and it's the reception of such a 
packet that alerts you that you have a partitioned
network.

/Uffe

> -----Original Message-----
> From: 
> [mailto:]On Behalf Of Serge Aleynikov
> Sent: den 25 augusti 2005 14:00
> To: Erlang Questions
> Subject: distributed application - replication of state
> 
> 
> Hello,
> 
> I was experimenting with the 'dist' distributed application 
> (from Ulf's 
> "OTP Release Handling Tutorial") to implement controlled handling of 
> network partitioning using a UDP heartbeat, and came up with the 
> following question.
> 
> When there is a crash of one of two distributed nodes, or a network 
> partition I would like to ensure that the second node takes over the 
> state from the other node.  In current implementation, however, the 
> state is taken over smoothly only when the application is running at 
> secondary node and it gets started at the primary node.
> 
> Is there some common approach on how that state should be replicated 
> between two nodes?  Do we need a separate application running on all 
> nodes responsible for replication, that our distributed application 
> would consult upon startup to initialize the state?  I 
> suppose that the 
> same problem had to be solved in mnesia.
> 
> Regards,
> 
> Serge
> 
> -- 
> Serge Aleynikov
> R&D Telecom, IDT Corp.
> Tel: (973) 438-3436
> Fax: (973) 438-1464
> 
> 



More information about the erlang-questions mailing list