StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Utilities
  3. API Tools
  4. Service Discovery
  5. SkyDNS vs etcd

SkyDNS vs etcd

OverviewComparisonAlternatives

Overview

SkyDNS
SkyDNS
Stacks8
Followers23
Votes2
GitHub Stars2.2K
Forks304
etcd
etcd
Stacks308
Followers412
Votes24

SkyDNS vs etcd: What are the differences?

### Introduction
In this Markdown code, we will highlight the key differences between SkyDNS and etcd.

1. **Functionality**: SkyDNS is a lightweight DNS server for Kubernetes that allows for service discovery within the cluster. It maps DNS names to Kubernetes services, making it easier for applications to locate and communicate with each other. On the other hand, etcd is a distributed key-value store used for shared configuration and service discovery across distributed systems. It provides a reliable way to store and manage critical data used by applications.

2. **Use Case**: SkyDNS is primarily used for DNS-based service discovery within Kubernetes clusters. It helps services locate each other by providing a DNS interface for easy communication. In contrast, etcd is more versatile and can be used for a wide range of use cases, including distributed coordination, leader election, and storing configuration data. It is not limited to a specific environment like SkyDNS.

3. **Consistency Model**: SkyDNS uses eventually consistent DNS records, which may introduce some latency in service discovery as changes propagate through the system. On the other hand, etcd provides strong consistency guarantees using the Raft consensus algorithm, ensuring that all nodes in the cluster have a consistent view of the data at all times. This makes etcd more suitable for critical data that requires strong consistency.

4. **Scalability**: SkyDNS is designed to scale horizontally by adding more instances to handle increased query loads and service discovery requests. However, it may not scale as seamlessly as etcd, which is built to be distributed and scalable out of the box. Etcd can handle large amounts of data and traffic efficiently across multiple nodes in a cluster.

5. **Data Model**: SkyDNS uses a simple key-value data model with DNS names mapped to Kubernetes services and endpoints. It is optimized for service discovery within Kubernetes clusters. In contrast, etcd supports complex data structures like directories, leasing, and watch capabilities, making it more flexible for various data storage and coordination tasks beyond just service discovery.

6. **Consensus Algorithm**: SkyDNS does not have its built-in consensus algorithm since its primary goal is to serve as a DNS server for service discovery. On the other hand, etcd uses the Raft consensus algorithm to ensure data consistency and fault tolerance in distributed systems. This makes etcd more suitable for critical data storage where consistency and fault tolerance are paramount.

In Summary, the key differences between SkyDNS and etcd lie in their functionality, use cases, consistency models, scalability, data models, and consensus algorithms.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Detailed Comparison

SkyDNS
SkyDNS
etcd
etcd

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).

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.

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.
-
Statistics
GitHub Stars
2.2K
GitHub Stars
-
GitHub Forks
304
GitHub Forks
-
Stacks
8
Stacks
308
Followers
23
Followers
412
Votes
2
Votes
24
Pros & Cons
Pros
  • 2
    Srv discovery for etcd
Pros
  • 11
    Service discovery
  • 6
    Fault tolerant key value store
  • 2
    Bundled with coreos
  • 2
    Secure
  • 1
    Open Source

What are some alternatives to SkyDNS, etcd?

Consul

Consul

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

Eureka

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.

Zookeeper

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.

Keepalived

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.

SmartStack

SmartStack

Scaling a web infrastructure requires services, and building a service-oriented infrastructure is hard. Make it EASY, with SmartStack’s automated, transparent service discovery and registration: cruise control for your distributed infrastructure.

Serf

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.

Nacos

Nacos

It is an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.

Libraries.io

Libraries.io

It is an open source web service that lists software development project dependencies and alerts developers to new versions of the software libraries they are using.

ODD Platform

ODD Platform

It is a next-generation data discovery and observability tool for enterprises and startups that help to efficiently democratize data, powers collaboration of data science and data engineering teams, significantly reduces time to data discovery, cuts on data downtime and offers a modern, easy-to-use environment with quick time-to-value. It makes all your data entities reliable, observable, and easily discoverable.

Baker Street

Baker Street

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

Related Comparisons

GitHub
Bitbucket

Bitbucket vs GitHub vs GitLab

GitHub
Bitbucket

AWS CodeCommit vs Bitbucket vs GitHub

Kubernetes
Rancher

Docker Swarm vs Kubernetes vs Rancher

gulp
Grunt

Grunt vs Webpack vs gulp

Graphite
Kibana

Grafana vs Graphite vs Kibana