zookeeper中的一致性
前几天我看了Raft关于一致性读的操作,让我对于Raft - 扩展阅读
这篇论文以及ETCD中读操作有了一些理解。
在实际的使用的这类服务中,写操作可能是比读操作少的,当我们需要优化读写性能时,就需要做一些功夫了。
和ETCD中很像的zookeeper,两者定位可以说都是非常相似的,在zk中,当zk节点越多,读性能相对越强,而在ETCD中,明显和这种情况不同,因为读写请求都需要leader进行响应,且还需要做一个Raft Log同步的操作,这也就会造成,节点多了,反而会导致性能下降。zk
使用的zap
协议,类似Raft一般,也是去维护日志,但却不影响zk
的读取性能。为什么会造成这一现象呢?