当前位置: 首页 > news >正文

专门代做毕设的网站网站开发项目成本分析之合理性

专门代做毕设的网站,网站开发项目成本分析之合理性,上海网站建设友汇网站,flash美食网站论文目录 31.基于Zookeeper如何实现分布式锁#xff1f; 32.什么是ACID#xff1f; 33.什么是分布式的XA协议#xff1f; 34.什么是2PC#xff1f; 35.什么是3PC#xff1f; 31.基于Zookeeper如何实现分布式锁#xff1f; 顺序节点 创建一个用于发号的节点“/test/lock…目录 31.基于Zookeeper如何实现分布式锁 32.什么是ACID 33.什么是分布式的XA协议 34.什么是2PC 35.什么是3PC 31.基于Zookeeper如何实现分布式锁 顺序节点 创建一个用于发号的节点“/test/lock,然后以他为父亲节点的前缀为”/test/lock/seq依次发号 获得最小号得锁 由于序号的递增性可以规定排号最小的那个获得锁。所以每个线程在尝试占用锁之前首先判断自己是排号是不是当前最小如果是则获取锁。 节点监听机制 每个线程抢占锁之前先抢号创建自己的ZNode。同样释放锁的时候就需要删除抢号的Znode。抢号成功后如果不是排号最小的节点就处于等待通知的状态。等谁的通知呢不需要其他人只需要等前一个Znode的通知就可以了。当前一个znode删除的时候就是轮到了自己占用锁的时候。第一个通知第二个第二个通知第三个击鼓传花似的依次向后。 32.什么是ACID 一个事务有四个基本特性也就是我们常说的ACID Atomicty(原子性事务是一个不可分割的整体事务内所有的操作要么全做成功要么全失败。 Consistency(一致性事务执行前后数据从一个状态到另一个状态必须是一致的A向B转账不能出现A扣了钱B却没收到。 Isolation(隔离性多个并发事务之间相互隔离不能互相干扰。 Durability持久性事务完成后对数据库的更改是永久保存的不能回滚。 33.什么是分布式的XA协议 XA协议是一个基于数据库的分布式事务协议其分为两部分事务管理器和本地资源管理器。事务管理器作为一个全局的调度者负责对各个本地资源管理器统一号令提交或者回滚。二阶段提交协议2PC和三阶段协议3PC就是根据此协议衍生出来而来。主流的诸如OracleMySQL等数据库均已实现了XA接口。 XA接口是双向的系统接口在事务管理器以及一个或者多个资源管理器之间此女工程通信桥梁。也就是说在基于XA的一个事务中我们可以针对多个资源进行事务管理例如一个系统访问多个数据库或即访问数据库又访问像消息中间件直接实现全部提交或全部取消的事务。XA规范不是Java规范而是一种通用的规范。 34.什么是2PC 两段提交顾名思义就是要进行两个阶段的提交 第一阶段准备阶段投票阶段 第二阶段提交阶段执行阶段。 下面还那下单扣库存举例子简单描述一下两段提交2PC的原理 之前说过业务服务化SOA以后一个下单流程就会用到多个服务各个服务都无法保证调用的其他服务的成功与否这个时候就需要一个全局的角色协调者对各个服务参与者进行协调。 一个下单请求过来通过协调者给每一个参与者发送Prepare消息执行本地数据脚本但不提交事务。 如果协调者收到了参与者的失败消息或者超时直接给每个参与者发送回滚Rollback消息否则发送提交Commit消息参与者根据协调者的指令执行提交或者回滚操作释放所有事务处理过程中被占用的资源显然2PC做到了所有操作要么全部成功要么全部失败。 两段提交2PC的缺点 二阶段提交看似能够提供原子性的操作但他存在着严重的缺陷 网络都懂导致的数据不一致第二阶段中协调者向参与者发送Commit命令之后一旦此时发生网络抖动导致一部分参与者接收到了Commit请求并执行可其他未接到Commit请求的参与者无法执行事务提交。进而导致整个分布式系统出现了数据不一致。 超时导致的同步阻塞问题 2PC中的所有的参与者节点都为事务阻塞型当某一个参与者节点出现通信超时其余参与者都会被动阻塞占用资源不能释放。 单点故障的风险 由于严重的依赖协调者一旦协调者发生故障而此时参与者还都处于锁定资源的状态无法完成事务commit操作。虽然协调者出现故障后会重新选举一个协调者可无法解决因前一个协调者宕机导致的参与者处于阻塞状态的问题。 35.什么是3PC 三阶段提交3PC是对两段提交(2PC)的一种升级优化3PC在2PC的第一阶段和第二阶段中插入一个准备阶段。保证了在最后提交阶段之前各参与者节点的状态都一致。同时在协调者和参与者中都引入超时机制当参与者各种原因未收到协调者的Commit请求后会对本地事务进行Commit不会一直阻塞等待解决了2PC的单点故障问题但3PC还是没能从根本上解决数据一致性的问题。 3PC的三个阶段分别是CanCommit,PreCommit,DoCommit: CanCommit:协调者向所有参与者发送CanCommit命令询问是否可以执行事务提交操作。如果全部响应YES则进入下一个阶段。 PreCommit:协调者向所有参与者发送PreCommit命令询问是否可以进行事务的预提交操作参与者接收到PreCommit请求后如参与者成功的执行了事务操作则返回YES响应进入最终Commit阶段。一旦参与者中有向协调者发送了NO相应协调者向所有参与者发送abort请求参与者接收abort命令执行事务的中断。 DoCommit:在前两个阶段中所有参与者的响应反馈均是YES后协调者向参与者发送DoCommit命令正是提交事务如协调者没有接收到参与者发送的ACK响应会向所有参与者发送abort请求命令执行事务的中断。
http://www.pierceye.com/news/255433/

相关文章:

  • 原创文章网站网站建设团队介绍
  • WordPress建站详细过程安康建设网站
  • 仿视频网站开发wordpress下载文件
  • 专业的个人网站建设哪家建筑施工企业专职安全生产管理员
  • 企业网站模板php全球网站排名前100
  • 1688网站可以做全屏吗有哪些网站是织梦做的
  • vue2.0网站开发做网站没有成本的方法
  • 手机网站和app有什么区别流量对网站排名的影响因素
  • 北京全网营销推广公司网站建设以及seo
  • 免费html网站代码骨科医院网站模板
  • 华强方特网站开发辽宁工程技术大学电子信息网
  • 信誉好的网站建设案例微网站后台录入
  • 网站ui界面设计模板WordPress能连接支付端口吗
  • 网站建设与维护ppt模板下载昆明 网站搭建
  • 手机网站建设浩森宇特摄影作品投稿平台
  • 网站类网站开发犯罪吗肇东网站建设云聚达
  • 云南通耀建设工程有限公司网站少儿编程老师需要具备什么条件
  • 陕西交通建设集团蓝商分公司网站wordpress增加模板
  • 创建网站目录权限建网站域名注册后需要
  • 现在还有企业做网站的吗浏览器登录入口
  • 如何进行目的地网站建设阳江网站建设推广
  • 移动网站搭建如何做高并发网站的架构设计
  • 网站特效网网站制作出租
  • 公司商标设计logo图案优化专业的公司
  • 郑州网站设计见效快微信公众平台小程序入口
  • 自动化毕设题目网站开发自家电脑做网站服务器w7花生壳
  • 网站文件目录结构wordpress 短信发送
  • 合肥专业做网站的公司东莞阳光网投诉电话
  • 网站呢建设英雄联盟更新公告最新
  • 做ps图标什么网站最好免费微网站怎么做