diff --git a/website/source/docs/internals/gossip.html.markdown b/website/source/docs/internals/gossip.html.markdown index 0172b671e4..5a432f61cc 100644 --- a/website/source/docs/internals/gossip.html.markdown +++ b/website/source/docs/internals/gossip.html.markdown @@ -41,3 +41,18 @@ All of these features are provided by leveraging [Serf](https://www.serf.io/). I is used as an embedded library to provide these features. From a user perspective, this is not important, since the abstraction should be masked by Consul. It can be useful however as a developer to understand how this library is leveraged. + + +## Lifeguard Enhancements + +Consul's Gossip Protocol, shared with HashiCorp's Serf, forms the basis of its powerful +distributed failure detector. Unfortunately, the algorithm on which it is based makes an +assumption that the local node is healthy in the sense that soft real-time processing of +packets is possible. In Consul versions prior to 0.7, this can sometimes manifest in a +severely degraded node falsely accusing others of being failed, causing occasional flaps +in the `serfHealth` check status for one or more healthy nodes. Consul 0.7 adds two Serf +Lifeguard enhancements to this algorithm to help performance in the presence of degraded +nodes. + +Please see [Serf's gossip protocol guide](https://www.serf.io/docs/internals/gossip.html#lifeguard) +for more details.