Heartbeat: broadcast or point to point

Tom Vogt tv@wlwonline.de
Wed, 31 Mar 1999 10:29:24 +0200


Alan Robertson wrote:
> > I think udp broadcasts are sufficient for my implementation because I
> > only act if five in sequence go missing, so it's not critical if a
> > packet or two get lost.
> 
> That may be sufficient for your particular application, but for some
> applications, 5 seconds downtime without knowing it is a long time.  It
> would be nice if we could do something which could be tuned to other
> applications.

that's true. I currently can act in second intervals only because I use
sleep(), but it should be possible (and I'm planning to make it so) to
tune that, so you can say at compiletime that you, say, want a heartbeat
every 1/5th second and scream if 3 go missing.


> > I'm also now implementing control messages and I've been thinking about
> > using tcp connections for those or in general thinking about the
> > acknowledgement problem. if anyone has a good solution, I'd surely be
> > interested.
> 
> As a note, the heartbeat code I have up on the net will send arbitrary
> control messages over the same (heartbeat) channel.  Whatever you write
> to the FIFO gets sent to all the members of the cluster.  That's how it
> implements IP address takeover, etc.  I think Stephen's code uses the
> same channel for everything.

what I currently have in the pipe is putting two additional characters
in each packet, one is the delimiter :) the other one signals whether
this is a heartbeat or a control packet.


-- 
Tom Vogt

System Manager WLW Online