马老师学习日记

马老师学习日记,第1张

马老师学习日记

Zookeeper

概述 :是一个开源的分布式协调服务框架,主要用来解决分布式集群中应用系统的一致性问题和数据管理问题

同一时间锁只能给一个进程,进而传输数据,进程1获得锁后,进程2和3会竞争这把锁
锁机制,解决共享资源互斥问题

分布式锁

Zooleeper就能解决多个进程同时访问共享资源的数据一致性问题

当访问资源是多份数据或者多份副本(好处是防止数据挂掉)

Zookeeper实现的就是当写数据到上面共享文件完成并且通过网络共享文件之间数据完全同步后,进程3才能进行共享资源的读取进程
Zookeeper本质上是分布式文件系统,可以存放小文件,可以理解为一个数据库

正常情况向在一台主机上我们可以存储各种各样的文件并通过路径找到文件
分布式文件系统是相当于把多台主机进行整合,整合出一个统一的文件系统,文件也可以通过路径进行查找,性能更加强大
Zookeeper平常存储的都是小文件,最好不超过1M,因为主要做数据一致性,配置文件
Zookeeper是分布式文件系统,其实也是一个集群
Zookeeper的节点被称作znode,具有文件的特性也具备节点的特性,可以存储数据,也可以存储节点或者被当做节点

znode是有路径的可以理解为znode的name
znode也可以携带数据
正因为znode的特性 Zookeeper可以对外提供出一个类似文件系统的试图,可以通过 *** 作文件系统的方式 *** 作Zookeeper
1.使用路径获取znode
2.获取znode携带的数据
3.修改znode携带的数据
4.删除znode
5.添加znode

Zookeeper是基于主从架构高可用集群
读是非事务性请求
写是事务性请求

内部服务器分为三种角色
领导者:leader:一个集群同一时间只有一个,所有写 *** 作只能通过leader完成并广播给其他服务器
1集群工作的核心,集群内部各个服务器的调度者
2负责进行投票选举
3处理事务性,写请求
4参与集群投票
leaner:学习者
跟随者:follower主要处理客户非事务性请求,要参与投票
1用于接收客户端请求,集群内部各个服务器的调度者
2处理客户端非事务性请求(读 *** 作)
3转发事务请求给leader
4参与集群投票
观察者:observer和follower很像不过没有投票权
1接收客户端请求,并向客户端返回结果
2处理客户端非事务性请求(读 *** 作)
3转发事务请求给leader
4不参与集群投票
扩展follower功能增加集群处理能力,但是不参与投票
client客户端 请求发起方

zookeeper的应用场景
1数据发布订阅
一般有两种模式,推模式和拉模式
服务端主动将数据更新发送给所有订阅的客户端:推模式
客户端主动请求获取最新数据:拉模式
2命名服务
命名服务是分布实现系统中较为常见的一类场景,分布式系统中,被命名的实体通常可以是集群中的机器,提供的服务地址或远程的对象等,通过明明服务,客户端可以制定名字来获取资源的实体,在分布式环境中,上层应用仅仅需要一个全局唯一的名字zookeeper可以实现一套分布式全局唯一ID分配机制

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5480189.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存