Consul – Automation of service registration and discovery

Consul is an open source project that enables high automation of infrastructure:

 

Automatic registration of new hosts

Whether physical or virtual, hosts running Consul Agent will be registered into the hosts database, together with their key-value metadata, such as datacenter, environment and any custom key-value properties.

 

Dynamic host information

The host database is dynamic and provides information about which hosts and services are currently available.

 

High availability of services

The Consul agent installed on each host provides DNS service to the running applications on that host to allow access to running services that were registered in the Consul Server. For example, configuring the application to use MySQL server host mysql.someservice.consul will resolve to IP list of all active MySQL servers. In case one of the MySQL servers is down, it will be removed from the IP list.

It is also possible to get list of mysql servers that are local to the datacenter.

Health checks

Consul Agent running on hosts can run local health checks and send them to the Consul Server.

In case Consul Server detects that it cannot ping the Consul Agent, it assumes that the node is node is not available (due to network, OS or hardware issue) and will mark it is failed.

Hosts that are marked as failed are automatically removed from the db if they are more than 72 hours in that state.

 

Consul High Availability

Consul can have multiple Consul Servers, distributed across datacenters. A master Consul Server will be automatically elected and updates will be sent to the other Servers.

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *