According to their website:
- Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface.
- Pairing service discovery with health checking prevents routing requests to unhealthy hosts and enables services to easily provide circuit breakers.
- Consul scales to multiple datacenters out of the box with no complicated configuration. Look up services in other datacenters, or keep the request local.
- Flexible key/value store for dynamic configuration, feature flagging, coordination, leader election and more. Long poll for near-instant notification of configuration changes.
It would be nice to provide cluster discovery via Consul.
Consul itself is MPL v2 licensed. According to this ASF reference, this is a Category B license meaning that it's not viral by nature but it requires some degree of reciprocity. We don't really care much about this, because we won't be packaging Consul obviously.
Moreover, there's a client on GitHub that's ASLv2. Worse comes to worst, we could just invoke the HTTP API directly with no dependencies.