I recall the Zookeeper paper from Yahoo scientist which basically details a more useful version of Google’s chubby. I find reliability and design of Zookeeper fascinating these days cool kids use etcd mostly because of relatively complex protocol of Zookeeper (there is a few implementations but they lack the polish of Java client).
Many applications depend on ZooKeeper's data model and client libraries, and can't switch to etcd. Things like watches and ephemeral nodes are different there.
iirc problem of the zookeeper was that it was a chunky java application. etcd is tiny go binary. so there is more to it than just complexity of the protocol itself.