Consul
Consul

546
439
177
Serf
Serf

9
13
0
Add tool

Consul vs Serf: What are the differences?

What is Consul? A tool for service discovery, monitoring and configuration. Consul is a tool for service discovery and configuration. Consul is distributed, highly available, and extremely scalable.

What is Serf? Service orchestration and management tool. Serf is a service discovery and orchestration tool that is decentralized, highly available, and fault tolerant. Serf runs on every major platform: Linux, Mac OS X, and Windows. It is extremely lightweight: it uses 5 to 10 MB of resident memory and primarily communicates using infrequent UDP messages.

Consul and Serf can be categorized as "Open Source Service Discovery" tools.

Some of the features offered by Consul are:

  • Service Discovery - Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface. External services such as SaaS providers can be registered as well.
  • Health Checking - Health Checking enables Consul to quickly alert operators about any issues in a cluster. The integration with service discovery prevents routing traffic to unhealthy hosts and enables service level circuit breakers.
  • Key/Value Storage - A flexible key/value store enables storing dynamic configuration, feature flagging, coordination, leader election and more. The simple HTTP API makes it easy to use anywhere.

On the other hand, Serf provides the following key features:

  • Membership: Serf maintains cluster membership lists and is able to execute custom handler scripts when that membership changes. For example, Serf can maintain the list of web servers for a load balancer and notify that load balancer whenever a node comes online or goes offline.
  • Failure detection and recovery: Serf automatically detects failed nodes within seconds, notifies the rest of the cluster, and executes handler scripts allowing you to handle these events. Serf will attempt to recover failed nodes by reconnecting to them periodically.
  • Custom event propagation: Serf can broadcast custom events and queries to the cluster. These can be used to trigger deploys, propagate configuration, etc. Events are simply fire-and-forget broadcast, and Serf makes a best effort to deliver messages in the face of offline nodes or network partitions. Queries provide a simple realtime request/response mechanism.

Consul and Serf are both open source tools. It seems that Consul with 16.2K GitHub stars and 2.82K forks on GitHub has more adoption than Serf with 4.69K GitHub stars and 467 GitHub forks.

What is Consul?

Consul is a tool for service discovery and configuration. Consul is distributed, highly available, and extremely scalable.

What is Serf?

Serf is a service discovery and orchestration tool that is decentralized, highly available, and fault tolerant. Serf runs on every major platform: Linux, Mac OS X, and Windows. It is extremely lightweight: it uses 5 to 10 MB of resident memory and primarily communicates using infrequent UDP messages.

Want advice about which of these to choose?Ask the StackShare community!

Why do developers choose Consul?
Why do developers choose Serf?
    Be the first to leave a pro

    Sign up to add, upvote and see more prosMake informed product decisions

    What are the cons of using Consul?
    What are the cons of using Serf?
      Be the first to leave a con
        Be the first to leave a con
        What companies use Consul?
        What companies use Serf?

        Sign up to get full access to all the companiesMake informed product decisions

        What tools integrate with Consul?
        What tools integrate with Serf?
          No integrations found

          Sign up to get full access to all the tool integrationsMake informed product decisions

          What are some alternatives to Consul and Serf?
          etcd
          etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles master elections during network partitions and will tolerate machine failure, including the master.
          Zookeeper
          A centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications.
          SkyDNS
          SkyDNS is a distributed service for announcement and discovery of services. It leverages Raft for high-availability and consensus, and utilizes DNS queries to discover available services. This is done by leveraging SRV records in DNS, with special meaning given to subdomains, priorities and weights (more info here: http://blog.gopheracademy.com/skydns).
          Ambassador
          Map services to arbitrary URLs in a single, declarative YAML file. Configure routes with CORS support, circuit breakers, timeouts, and more. Replace your Kubernetes ingress controller. Route gRPC, WebSockets, or HTTP.
          Kubernetes
          Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions.
          See all alternatives
          Decisions about Consul and Serf
          No stack decisions found
          Interest over time
          Reviews of Consul and Serf
          No reviews found
          How developers use Consul and Serf
          Avatar of Chris Hartwig
          Chris Hartwig uses ConsulConsul

          All our services use Consul for discovery, configuration and cluster management (auto scaling, health monitoring, dynamic reconfiguration, leader elections)

          Avatar of Tom Staijen
          Tom Staijen uses ConsulConsul

          Discovery service. Some configuration is stored in consul.

          Avatar of Robert Hao
          Robert Hao uses ConsulConsul

          I used Consul as config center & service discoverer.

          Avatar of Ismael Arenzana
          Ismael Arenzana uses ConsulConsul

          How else do you discover microservices? ;)

          Avatar of exana
          exana uses ConsulConsul

          For service discovery.

          How much does Consul cost?
          How much does Serf cost?
          Pricing unavailable
          Pricing unavailable
          News about Serf
          More news