
Smudge: Go lib providing consul like features using SWIM epidemic protocol - blopeur
https://github.com/clockworksoul/smudge
======
armon
I'm curious if the author was aware of our implementation at HashiCorp
([https://github.com/hashicorp/memberlist](https://github.com/hashicorp/memberlist)).
We use that implementation in Serf
([https://www.serf.io](https://www.serf.io)) to provide membership, failure
detection, and an event system. Serf is in turn, used by both Consul
([https://www.consul.io](https://www.consul.io)) and Nomad
([https://www.nomadproject.io](https://www.nomadproject.io)). The point being,
our implementation has seen significant production hardening and is known to
work on clusters with 10K+ machines.

We've made significant enhancements to SWIM to make it work at scale, but
overall it's a simple algorithm to understand and works quite well in
practice. Glad to see more implementations of it!

~~~
clockworksoul
Author here. A pleasure to meet you. I'm a big fan of Hashicorp.

Truth be told, when I started this project I wasn't aware of memberlist,
though I was by the time I finished. I was building something beautiful and I
didn't want to put it down.

