Baker Street vs SkyDNS: 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 SkyDNS? Distributed service for announcement and discovery of services. 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).
Baker Street and SkyDNS can be primarily classified as "Open Source Service Discovery" tools.
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, SkyDNS provides the following key features:
- You announce your service by submitting JSON over HTTP to SkyDNS with information about your service. This information will then be available for queries either via DNS or HTTP.
- SkyDNS requires that services submit an HTTP request to update their TTL within the TTL they last supplied. If the service fails to do so within this timeframe SkyDNS will expire the service automatically. This will allow for nodes to fail and DNS to reflect this quickly.
- You can find services by querying SkyDNS via any DNS client or utility. It uses a known domain syntax with wildcards to find matching services.
Baker Street and SkyDNS are both open source tools. It seems that SkyDNS with 1.97K GitHub stars and 301 forks on GitHub has more adoption than Baker Street with 222 GitHub stars and 16 GitHub forks.