- Website: https://www.consul.io
- Chat: Gitter
- Mailing list: Google Groups
- develop Language : Go
Consul is a tool for service discovery and configuration. Consul is distributed, highly available, and extremely scalable.
Consul provides several key features:
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.
Multi-Datacenter - Consul is built to be datacenter aware, and can support any number of regions without complex configuration.
Service Segmentation - Consul Connect enables secure service-to-service communication with automatic TLS encryption and identity-based authorization.
Consul runs on Linux, Mac OS X, FreeBSD, Solaris, and Windows. A commercial version called Consul Enterprise is also available.
Please note: We take Consul's security and our users' trust very seriously. If you believe you have found a security issue in Consul, please responsibly disclose by contacting us at security@hashicorp.com.
Quick Start
An extensive quick start is viewable on the Consul website:
https://www.consul.io/intro/getting-started/install.html
Documentation
Full, comprehensive documentation is viewable on the Consul website:
License
Mozilla Public License 2.0
Service-based networking for dynamic infrastructure
The shift from static infrastructure to dynamic infrastructure changes the approach to networking from host-based to service-based. Connectivity moves from the use of static IPs to dynamic service discovery, and security moves from static firewalls to dynamic service segmentation.
Static
Host-based networking
Dynamic
Service-based networking
Use Cases
Service Discoveryfor connectivity
Service Registry enables services to register and discover each other.
Learn more
Service Segmentationfor security
Secure service-to-service communication with automatic TLS encryption and identity-based authorization.
Learn more
Service Configurationfor runtime configuration
Feature rich Key/Value store to easily configure services.
Learn more
Consul Principles
API-Driven
Codify and automate service definitions, health checks, service authorization policies, failover logic, and more.$ curl
http://localhost:8500/v1/kv/deployment
[ { "LockIndex": 1, "Session": "1c3f5836-4df4-0e26-6697-90dcce78acd9", "Value": "Zm9v", "Flags": 0, "Key": "deployment", "CreateIndex": 13, "ModifyIndex": 19 } ]
Run and Connect Anywhere
Connect services across any runtime platform and public or private cloud. Connect services from Kubernetes to VMs, Containers to Serverless functions.
Extend and Integrate
- Provision clusters on any infrastructure.
- Connect to services over TLS via proxy integrations.
- Serve TLS certificates with pluggable Certificate Authorities.