How has etcd been running for you more recently? One of the things that kept me away was my test run of etcd failed gloriously (twice), and just wasn't stable/resiliant enough for me.
You can find resources that explain all of the constraints in depth at the Raft homepage: https://raft.github.io/
https://coreos.com/os/docs/latest/cluster-architectures.html