One small thing that makes Consul exciting (especially when compared to etcd) is its -bootstrap-expect flag [0].
It's the recommended way to stand up a Consul cluster without a risk of causing split brain if it turns out multiple nodes are coming up at the exact same time, and it achieves that without an external / pre-existing coordination service.
In comparison, etcd's recommended way to bootstrap a cluster is to use CoreOS' "discovery" service, which is great, but does constitute one extra dependency.
--
Now, the downside of Consul is that it seems etcd has much more momentum.
Yeah, and actually, that bootstrapping was previously a manual process, but thanks to DigitalOcean I had my summer intern Robert (@robxu9) implement and submit the patch for -bootstrap-expect.
Consul is pretty neat, and in my experiments with it, it's really easy to spin up and modify a cluster. It seems like they really thought through the procedures.
It's the recommended way to stand up a Consul cluster without a risk of causing split brain if it turns out multiple nodes are coming up at the exact same time, and it achieves that without an external / pre-existing coordination service.
In comparison, etcd's recommended way to bootstrap a cluster is to use CoreOS' "discovery" service, which is great, but does constitute one extra dependency.
--
Now, the downside of Consul is that it seems etcd has much more momentum.