Closed rdeusser closed 8 years ago
Serf is designed to provide "cluster membership, failure detection, and orchestration". Mesh provides all of that, plus more: its own CRDT-style data layer; optional, direct connections between peers; larger gossip message sizes (megabytes instead of half a KB); etc.
In terms of state, Mesh is already used by Weave Net as the fundamental underlying abstraction — it was actually extracted from Net in the first place. It's also being explored by e.g. Prometheus Alert Manager as a way to manage distributed state. The API will change (simplify) in the coming weeks and months, so if you want to use it, be sure to vendor it. But, it is production ready, if that's what you were getting at.
Did that answer your question?
I'm the person exploring it for the Prometheus Alertmanager. The distributed state part was the critical feature Serf was missing for us. Mesh still has some API nits but it worked right out the box anyway. So the desired features are working correctly and well as far as I can tell.
@peterbourgon That's more than I was hoping for. I've been considering Serf/Mesh in a few projects of mine. Thanks!
Pretty much the title. I'm curious to know if the design goals are similar and what the state of Mesh is.