预计阅读时间: 3 分钟
zkdash是一个zookeeper的管理界面
Zookeeper是一个为分布式系统设计的分布式可协调服务,实现了高水平的异步、可配置维护、分组和命名。
zookeeper 通过 Zab(Zookeeper Atomic Broadcast) 协议保持集群间的数据一致性。
Zab 协议包括两个阶段:Leader Election 和 Atomic Broadcast 。
此阶段集群内会选举出一个 leader,余下机器则会成为 follower。leader 会通过 broadcast 通知所有 follower ,当大部分机(> 1/2)器完成了与 leader 的状态同步后,Leader Election 阶段结束。
当 leader 失去大多数 follower 时,集群会再次进入 Leader Election 阶段并选举出新的 leader ,使集群回到正确的状态。
此阶段 leader 会通过 broadcast 与 follower 通讯,保证 leader 与 follower 具有相同的系统状态。
它允许分布式进程通过Znodes协调彼此,实现高吞吐和低延迟数。它实现了溢价高性能、高可用、严格的排序进入。
可用于大型分布式系统,可靠性让它避免了单个点的失败,严格的排序意味着复杂的排序基础结构能在客户端被实现。
组成Zookeeper服务的服务端必须相互知道彼此,它们保存一份状态图像在内存中,伴随着事务日志和快照持久化储存。
客户端连接服务端,它保持TCP连接是通过发送请求,获取回复,获取监控事件,发送心跳。一个服务端中断,客户端则换个服务端连接。
Zookeeper通过数字标记每次更新,反射到Zookeeper所有的事务命令上。
读取比写入更有效,效率比为10:1
在读取的工作量上速度很快,每个Node节点被当做path路径识别。