zookeeper
2016-01-29 13:34:49 23 举报
AI智能生成
zk相关的描述
作者其他创作
大纲/内容
zNode类型(数据的操作是原子性的)
PERSISTENT
数据不会丢失,delete方法删除
SEQUENCE
集群内顺序增加zNode编号
EPHEMERAL
生命周期同client连接的session同步
集群管理(以机器IP或者其他标识为path,如消失,代表机器连接不上)
适用场景
配置文件管理
分布式锁、队列、关卡
数据一致性
集群worker管理、master选举
负载均衡
zk的任务调度框架实现
配置参数
clientPort(客户端访问端口号)
dataDir(数据文件夹)
server.x=[hostname]:nnnnn[:nnnnn]
hostname:一般为IP
第一个nnnn用来连接leader的端口号
第二个nnnn用来选举leader的端口号
group.x=nnnnn[:nnnnn]
多个集群配置,配置示例:
group.1=1:2:3
group.2=4:5:6
weight.x=nnnnn
集群中xserver所占比重,例如:leader选举时
此server所占比重,默认为1
角色
leader
follower
选举算法(paxos)
observer
命名空间结构(/)
/zoo-1
/zoo-1/job1
/zoo-1/job2
/zoo-2
/zoo-2/job1
/zoo-2/job2
关联的API方法
ZooKeeper.delete(path,watcher)
Zookeeper.exists(path,watcher)
Zookeeper.getChildren(path,watcher)
Zookeeper.setData
Zookeeper.getData
Zookeeper.create(path)
应用(dubbo,根据命名空间发布服务)
读写数据
读(任何zk集群内的某个节点的数据都是同步)
写(如果follower或者observer收到写请求,则转发给leader,由leader广播)
zk sessions
0 条评论
下一页