zookeeper

Zookeeper是一个分布式系统协同服务,其工作原理基于原子广播和Zab协议,确保集群中服务器的状态同步。服务角色包括领导者、跟随者和观察者。选主算法采用Paxos协议,确保超过半数的服务器同意即可生效。Zookeeper提供不同类型的节点如持久、持久顺序、临时和临时顺序,以满足不同的数据需求。其设计目标包括最终一致性、可靠性、实时性等,并具备强大的选举机制。

分布式系统协同服务

工作原理:核心是原子广播,这个机制保证了各个Server之间的同步,实现这个原理的协议叫做Zab协议。

简介Zab协议:有两种模式,它们分别是恢复模式(选主)和广播模式(同步)。当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和 leader的状态同步以后,恢复模式就结束了。状态同步保证了leader和Server具有相同的系统状态。 为了保证事务的顺序一致性,zookeeper采用了递增的事务id号(zxid)来标识事务

 

角色:

领导者(Leader):发起投票和决议,更新系统状态

 

学习者(Learner):1、跟随者 (Follwer):参与投票。2、观察者(Observer):不参与投票、提高系统速度(解释:因为高并发的时候服务器比较多,有一个服务反应比较慢,导致投票都慢,为了不影响整体性能, Server增多,投票阶段延迟增大,影响性能。)

客户端(Client):客户端

 

选主算法:Leader选举算法采用paxos协议(分布式选举算法)。Paxos核心思想是:1、超过半数就认为成功(比如5个服务,3个就可以了),所以Server一般是奇数。

paxos协议分两种:basic paxos和fast paxos两种,fast paxos是默认的。

 

写数据流程:客户端-server1-通知Leader-通知其他服务-其他服务写-写完通知Leader-告诉server1-告诉客户端。

 

Zookeeper有哪几种节点类型

持久:创建之后一直存在,除非有删除操作,创建节点的客户端会话失效也不影响此节点。

持久顺序:跟持久一样,就是父节点在创建下一级子节点的时候,记录每个子节点创建的先后顺序,会给每个子节点名加上一个数字后缀。

临时:创建客户端会话失效(注意是会话失效,不是连接断了),节点也就没了。不能建子节点。

临时顺序:不用解释了吧。

 

要求:改一处全生效,具备一个很好的容灾机制,稳定可靠

1.2 设计目的

1.最终一致性:client不论连接到哪个Server,展示给它都是同一个视图,这是zookeeper最重要的性能。

2 .可靠性:具有简单、健壮、良好的性能,如果消息m被到一台服务器接受,那么它将被所有的服务器接受。

3 .实时性:Zookeeper保证客户端将在一个时间间隔范围内获得服务器的更新信息,或者服务器失效的信息。但由于网络延时等原因,Zookeeper不能保证两个客户端能同时得到刚更新的数据,如果需要最新数据,应该在读数据之前调用sync()接口。

4 .等待无关(wait-free):慢的或者失效的client不得干预快速的client的请求,使得每个client都能有效的等待。

5.原子性:更新只能成功或者失败,没有中间状态。 

6.顺序性:包括全局有序和偏序两种:全局有序是指如果在一台服务器上消息a在消息b前发布,则在所有Server上消息a都将在消息b前被发布;偏序是指如果一个消息b在消息a后被同一个发送者发布,a必将排在b前面。 

 

选举机制:

 

 

【CNN-GRU-Attention】基于卷积神经网络和门控循环单元网络结合注意力机制的多变量回归预测研究(Matlab代码实现)内容概要:本文介绍了基于卷积神经网络(CNN)、门控循环单元网络(GRU)与注意力机制(Attention)相结合的多变量回归预测模型研究,重点利用Matlab实现该深度学习模型的构建与仿真。该模型通过CNN提取输入数据的局部特征,利用GRU捕捉时间序列的长期依赖关系,并引入注意力机制增强关键时间步的权重,从而提升多变量时间序列回归预测的精度与鲁棒性。文中涵盖了模型架构设计、训练流程、参数调优及实际案例验证,适用于复杂非线性系统的预测任务。; 适合人群:具备一定机器学习与深度学习基础,熟悉Matlab编程环境,从事科研或工程应用的研究生、科研人员及算法工程师,尤其适合关注时间序列预测、能源预测、智能优化等方向的技术人员。; 使用场景及目标:①应用于风电功率预测、负荷预测、交通流量预测等多变量时间序列回归任务;②帮助读者掌握CNN-GRU-Attention混合模型的设计思路与Matlab实现方法;③为学术研究、毕业论文或项目开发提供可复现的代码参考和技术支持。; 阅读建议:建议读者结合Matlab代码逐模块理解模型实现细节,重点关注数据预处理、网络结构搭建与注意力机制的嵌入方式,并通过调整超参数和更换数据集进行实验验证,以深化对模型性能影响因素的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值