CONSUL

Service discovery and configuration made easy.

High Availability

High availability is a characteristic of a system, which aims to ensure an agreed level of operational performance for a higher than normal period.

  • Elimination of single points of failure. This means adding redundancy to the system so that failure of a component does not mean failure of the entire system.
  • Reliable crossover. In redundant systems, the crossover point itself tends to become a single point of failure. High availability engineering must provide for reliable crossover.
  • Detection of failures as they occur. If the two principles above are observed, then a user may never see a failure. But the maintenance activity must.

Consul's Features

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

Consul's Features

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

Service Discovery

  • How do we know where services are running?

 

  • How can consumers bind to services?

 

  • What about using meta-data for service discovery?

Key-Value Store

  • Distributed key value store for services.
  • Provides REST based HTTP api for external interaction.

DEMO

Made with Slides.com