大数据基础 一 —zookeeper的详解与集群的搭建

大数据基础 一 —zookeeper的详解与集群的搭建

1 zookeeper是什么?

​ 它是一个分布式协调服务的开源框架,主要用来解决分布式集群中应用系统一致性的问题,例如怎样避免同时操作同一数据造成脏读的问题

​ 它的本质是是一个分布式的小文件存储系统,提供基于类似于文件系统的目录树方式的数据存储,并且可以对树上的节点进行管理并维护和监控你存储的数据的状态变化,通过监控这些数据的变化达到基于数据的集群管理

(统一命名服务,分布式配制管理,分布式消息队列,分布式锁,分布式协调服务)

​ zookeeper节点

2 zookeeper的特性?

(1)全局数据一致,无论client连接到哪一个服务器,展示的数据都是一样的

​ 对于事物操作(写入,修改,删除)统一交给leader来管理,对于非事物的操作(读)因为不涉及目录树的修改,不需要保证

(2) 可靠性 如果消息被一个服务器接收,那么将被所有服务器接收

(3)顺序性 有序和偏序 消息的执行顺序根据发布的时间来进行有序或者偏序的执行

(4)数据更新原子性 数据的更新要么成功,要么失败

(5) 实时性 zookeeper保证客户端在一个时间间隔范围内获得更新信息,或者服务器失效的信息

3 zookeeper能做什么(主要应用)?

(1)数据的发布与订阅

发布与订阅模型,即所谓的配置中心,发布者将数据发布到zk的节点上,供订阅者动态的获取数据,实现配置信息的集中式管理与动态更新。

应用在启动的时候会主动的获取一次配置信息,并在节点上注册一个watcher,这样后面每次配置有更新的时候,都会实时的通知到订阅的客户端,从来达到获取最新配置信息的目的。

例如 在分布式搜索服务中,索引的元信息就可以存在zk的一些指定结点,还有分布式项目中的一些配置文件。properties

(2)命名服务

在分布式系统中,通过使用命名服务,客户端可以通过指定的用户名来获取资源或服务的地址,提供者的信息,被命名的对象可以使服务器,提供的服务地址,远程对象等等,这些都可以称为名字,其中比较常见的就是分布式框架中的服务地址列表,通过调用zk提供的创建节点的API,创建一个全局唯一的path,这个path就可以成为一个名字

其中dubbo框架就是运用zookeeper作为其命名服务,无论是提供者还是消费者,zookeeper都会创建代理对象ÿ

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值