Zookeeper相关知识总结

1.1Zookeeper介绍

Zookeeper是分布式应用程序的协调服务框架,是Hadoop的重要组件。ZK要解决的问题:
1.分布式环境下的数据一致性。
2.分布式环境下的统一命名服务
3.分布式环境下的配置管理
4.分布式环境下的分布式锁
5.集群管理问题

zookeeper数据结构

在这里插入图片描述
节点的类型:
1.普通节点:创建后一直存在
2.临时节点:注册节点的连接断掉,则临时节点消失
3.普通顺序节点:注册后会自动分配顺序
临时顺序节点:临时节点分配顺序,可以通过顺序节点实现分布式锁

zookeeper的observer:

由于集群机器越来越多,每次投票代价越来越高,可以配置一部分observer,不参加选举,只同步数据,observer可以配置到不稳定的网络,或者远程服务中心
1.不参加选举
2.和follower一样,处理不选举,也要同步数据

Zookeeper特性总结

数据一致性
client不论连接到哪个Zookeeper,展示给它都是同一个视图,即查询的数据都是一样的。这是zookeeper最重要的性能。

原子性
对于事务决议的更新,只能是成功或者失败两种可能,没有中间状态。要么都更新成功,要么都不更新。即,要么整个集群中所有机器都成功应用了某一事务,要么都没有应用,一定不会出现集群中部分机器应用了改事务,另外一部分没有应用的情况。

可靠性
一旦服务端成功的应用了一个事务,并完成对客户端的响应,那么该事务所引起的服务端状态变更将会一直保留下来,除非有另一个事务又对其进行了改变。

实时性
Zookeeper保证客户端将在非常短的时间间隔范围内获得服务器的更新信息,或者服务器失效的信息,或者指定监听事件的变化信息。(前提条件是:网络状况良好)因为znode树是维系在内存。所以不能用zk存储大量数**据。

顺序性
如果在一台服务器上消息a在消息b前发布,则在所有Server上消息a都将在消息b前被发布。

过半性
zookeeper集群必须有半数以上的机器存活才能正常工作。因为只有满足过半数,才能满足选举机制选出Leader。因为只有过半,在做事务决议时,事务才能更新。
所以一般来说,zookeeper集群的数量最好是奇数个。

2pc、poxos算法

paxos基于2pc的改进,解决数据一致性,两个问题:拜占庭将军问题,poxis岛会议问题,暂时无法彻底解决
2pc的两个阶段:分发过程->事务执行
paxos基于2pc扩展了过半性,leader宕机重新选举
zookeeper基于fast paxos,解决了活锁问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值