--- description: |- Consul is a highly available and distributed service discovery and key-value store designed with support for the modern data center to make distributed systems and configuration easy. ---

Service discovery and configuration made easy. Distributed, highly available, and datacenter-aware.

Service Discovery

Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface. Register external services such as SaaS providers as well.

Failure Detection

Pairing service discovery with health checking prevents routing requests to unhealthy hosts and enables services to easily provide circuit breakers.

Multi Datacenter

Consul scales to multiple datacenters out of the box with no complicated configuration. Look up services in other datacenters, or keep the request local.

Key/Value Storage

Flexible key/value store for dynamic configuration, feature flagging, coordination, leader election and more. Long poll for near-instant notification of configuration changes.

DNS Query Interface

Look up services using Consul's built-in DNS server. Support existing infrastructure without any code change.

Terminal

admin@hashicorp: dig web-frontend.service.consul. ANY

; <<>> DiG 9.8.3-P1 <<>> web-frontend.service.consul. ANY

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29981

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:

;web-frontend.service.consul. IN ANY

;; ANSWER SECTION:

web-frontend.service.consul. 0 IN A 10.0.3.83

web-frontend.service.consul. 0 IN A 10.0.1.109

admin@hashicorp:  

Key Value Storage

Consul provides a hierarchical key/value store with a simple HTTP API. Managing configuration has never been simpler.

Terminal

admin@hashicorp: consul kv put foo bar

Success! Data written to: foo

admin@hashicorp: consul kv get foo

bar

admin@hashicorp: consul kv get -detailed foo

CreateIndex 5

Flags 0

Key foo

LockIndex 0

ModifyIndex 5

Session -

Value bar

admin@hashicorp: consul kv delete foo

Success! Deleted key: foo

admin@hashicorp:  

The intro and getting started guide contain a simple and approachable walkthrough for running Consul locally.