Need advice about which tool to choose?Ask the StackShare community!
Consul vs SkyDNS: 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 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).
Consul and SkyDNS can be primarily classified 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, 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.
Consul and SkyDNS are both open source tools. Consul with 16.4K GitHub stars and 2.85K forks on GitHub appears to be more popular than SkyDNS with 1.97K GitHub stars and 301 GitHub forks.
Pros of Consul
- Great service discovery infrastructure60
- Health checking35
- Distributed key-value store29
- Monitoring26
- High-availability23
- Web-UI12
- Token-based acls10
- Gossip clustering6
- Dns server5
- Not Java3
- Docker integration1
Pros of SkyDNS
- Srv discovery for etcd2