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
ZooKeeperCentralized service for maintaining configuration information
dnsdockDNS server for automatic docker container discovery

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted