one of the our distributed apps are using heart beat to detect the peer's disconnection(e.g. LAN line broken, etc) . is the heart beating necessary?
Maybe, what will do you if you don't get the heart beat?
If you have no way to recover there is no point in having a heart beat.
If you are using call-back from the server to the client, you need a way that the client can ask the server to resent all lost call-backs, this is not easy.
Also if you don’t get a heart beat it does not mean a message will not get there later, as there can be all sort of network delays, is it safe to just resent your messages?
The heart beat is the easy bit, the hard bit is what to do when the heart does not beat!