Configuration Management

Serf – decentralized service discovery and orchestration

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
etcdDistributed reliable key-value store
ConsulOffers service discovery, service mesh, traffic management, and more
NacosDynamic service discovery, configuration management, and service governance
EurekaRESTful (Representational State Transfer) service
SerfDecentralized membership, failure detection and orchestration
ZooKeeperCentralized service for maintaining configuration information
AvahiImplements zero-configuration networking using mDNS/DNS-SD
dnsdockDNS server for automatic docker container discovery

Read our verdict in the software roundup.


Best Free and Open Source Software 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.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted