Serf is a lightweight, decentralised service discovery and orchestration system. Each node runs an agent that exchanges membership data through an efficient gossip protocol, so a cluster has no central server or single point of failure. Agents announce joins and graceful departures, detect failed peers, and quickly propagate the revised membership view to the remaining nodes. No external database is required.
The software combines a command-line utility with an embeddable Go library. Its event layer lets operators broadcast deployments, configuration changes and similar notifications, while queries provide request-and-response communication across selected members. Scriptable handlers can turn messages and membership changes into local actions, making Serf useful as a small building block for automated infrastructure.
This is free and open source software.
Key Features
- Masterless cluster membership and failure detection using a gossip protocol.
- Runs on Linux, macOS and Windows, with source available for building the latest release.
- Supports joining peers directly, retrying joins and discovering nearby agents through mDNS.
- Broadcasts custom, fire-and-forget user events across the cluster.
- Sends filtered queries that can collect responses from matching nodes.
- Invokes shell handlers for member, event and query activity.
- Attaches dynamic key/value tags to nodes and filters membership output by name, status or tag.
- Encrypts gossip traffic and provides commands for installing, selecting, removing and listing encryption keys.
- Offers an RPC interface for membership, events, queries, logs, statistics and key management.
- Persists snapshots to assist restart recovery and offers LAN, WAN and local timing profiles.
- Calculates network coordinates and reports estimated round-trip times between nodes.
Website: github.com/hashicorp/serf
Support:
Developer: HashiCorp
License: Mozilla Public License 2.0
Serf is written in Go. Learn Go with our recommended free books and free tutorials.
Related Software
| Service Discovery | |
|---|---|
| etcd | Distributed reliable key-value store |
| Consul | Offers service discovery, service mesh, traffic management, and more |
| Nacos | Dynamic service discovery, configuration management, and service governance |
| Eureka | RESTful (Representational State Transfer) service |
| Serf | Decentralized membership, failure detection and orchestration |
| ZooKeeper | Centralized service for maintaining configuration information |
| Avahi | Implements zero-configuration networking using mDNS/DNS-SD |
| dnsdock | DNS server for automatic docker container discovery |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.