转载

Zookeeper系列-介绍

预计阅读时间: 3 分钟

zkdash是一个zookeeper的管理界面

Zookeeper是一个为分布式系统设计的分布式可协调服务,实现了高水平的异步、可配置维护、分组和命名。

zookeeper 运作原理

zookeeper 通过 Zab(Zookeeper Atomic Broadcast) 协议保持集群间的数据一致性。

Zab 协议包括两个阶段:Leader Election 和 Atomic Broadcast 。

Leader Election

此阶段集群内会选举出一个 leader,余下机器则会成为 follower。leader 会通过 broadcast 通知所有 follower ,当大部分机(> 1/2)器完成了与 leader 的状态同步后,Leader Election 阶段结束。

当 leader 失去大多数 follower 时,集群会再次进入 Leader Election 阶段并选举出新的 leader ,使集群回到正确的状态。

Atomic Broadcast

此阶段 leader 会通过 broadcast 与 follower 通讯,保证 leader 与 follower 具有相同的系统状态。

它的设计目的:

1.简单:

它允许分布式进程通过Znodes协调彼此,实现高吞吐和低延迟数。它实现了溢价高性能、高可用、严格的排序进入。

可用于大型分布式系统,可靠性让它避免了单个点的失败,严格的排序意味着复杂的排序基础结构能在客户端被实现。

2.可复制的:

组成Zookeeper服务的服务端必须相互知道彼此,它们保存一份状态图像在内存中,伴随着事务日志和快照持久化储存。

客户端连接服务端,它保持TCP连接是通过发送请求,获取回复,获取监控事件,发送心跳。一个服务端中断,客户端则换个服务端连接。

3.有序的:

Zookeeper通过数字标记每次更新,反射到Zookeeper所有的事务命令上。

读取比写入更有效,效率比为10:1

4.很快的:

在读取的工作量上速度很快,每个Node节点被当做path路径识别。

原文  http://boke.iflsy.com/archives/1445
正文到此结束
Loading...