Zookeeper与Paxos

zookeeper是什么

zk可以保证如下分布式一致性特性:

  • 顺序一致性:client发起的事务请求,会严格按照顺序被应用到zk中。
  • 原子性
  • 单一视图
  • 可靠性
  • 实时性:zk仅保证一定的时间段内,客户端最终一定能够从服务端上读取到最新的数据状态

zk的设计目标

zk致力于提供一个高性能,高可用,且具有严格顺序访问控制能力的分布式协调服务。有如下四个设计目标:

目标一:简单的数据模型

zk使得分布式程序能够通过一个共享的、树型结构的名字来进行相互协调。zk将全量的数据存储在内存中,通过快照和事务文件在初始化时加载zk服务器中。

目标二:可构建集群

只要集群中超过一半的机器能够正常工作。

目标三:顺序访问

对于来自客户端的每个更新请求,zk都会分配一个全局唯一的递增编号,这个编号反应了所有事务操作的先后顺序。

目标四:高性能

适用于以读操作的应用场景,3台服务器的压测能达到12-13W的QPS

参考文献

Zookeeper数据与存储

results matching ""

    No results matching ""