Need advice about which tool to choose?Ask the StackShare community!

Baker Street

0
12
+ 1
0
Serf

13
20
+ 1
0
Add tool

Baker Street vs Serf: What are the differences?

What is Baker Street? A simple client-side load balancer for microservices. Baker Street is an HAProxy-based client side load balancer that simplifies scaling, testing, and upgrading microservices.

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.

Baker Street and Serf belong to "Open Source Service Discovery" category of the tech stack.

Some of the features offered by Baker Street are:

  • automatically splitting traffic among all healthy services sharing the same name in the system
  • making load balancing more efficient and robust by using local load balancers
  • removing problematic instances from the rotation more quickly by using local health checkers

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.

Baker Street and Serf are both open source tools. Serf with 4.7K GitHub stars and 467 forks on GitHub appears to be more popular than Baker Street with 222 GitHub stars and 16 GitHub forks.

Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More

What is Baker Street?

Baker Street is an HAProxy-based client side load balancer that simplifies scaling, testing, and upgrading microservices.

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.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Baker Street?
What companies use Serf?
    No companies found
    See which teams inside your own company are using Baker Street or Serf.
    Sign up for Private StackShareLearn More

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

    What are some alternatives to Baker Street and Serf?
    Consul
    Consul is a tool for service discovery and configuration. Consul is distributed, highly available, and extremely scalable.
    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.
    Eureka
    Eureka is a REST (Representational State Transfer) based service that is primarily used in the AWS cloud for locating services for the purpose of load balancing and failover of middle-tier servers.
    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.
    Keepalived
    The main goal of this project is to provide simple and robust facilities for loadbalancing and high-availability to Linux system and Linux based infrastructures.
    See all alternatives