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

小米网站 用什么做的小程序开发教程电子书

小米网站 用什么做的,小程序开发教程电子书,wordpress 菜单两列显示不出来,成都服务器租赁#xff08;1#xff09;TCC模式 前面学了XA和AT模式#xff0c;这两种模式最终都能实现一致性#xff0c;和隔离性#xff0c;XA是强一致#xff0c;AT是最终一致#xff0c;隔离性呢XA是在第一阶段不提交#xff0c;基于事务本身的特性来完成隔离#xff0c;AT则是…1TCC模式 前面学了XA和AT模式这两种模式最终都能实现一致性和隔离性XA是强一致AT是最终一致隔离性呢XA是在第一阶段不提交基于事务本身的特性来完成隔离AT则是加了全局锁锁定资源去隔离事务本质上来看这两种都是加锁来实现的只要加了锁都会有性能的损耗如果追求的是极致的性能就需要使用其他的办法TCC        模式就是性能的体现他不需要去加锁 TCC是基于人工编码来实现的不想AT模式自动实现的在第一阶段形成快照二阶段才能恢复它多了一个生成快照的逻辑性能有损耗这一点TCC胜过了AT模式 成功扣减冻结金额 -资源预留 回滚 做反向操作冻结金额减三十余额加三十 可以看到TCC模式在做了在第一阶段完成了资源预留之后第二阶段不管是Confirm还是Cancel都是在操作自己预留的这份资源就导致了TCC跟AT模式有很大的区别 在第一阶段两种模式都是个提交各自的事务很快释放数据库锁在性能上都非常的好在第一阶段都会有有可能成功有可能失败造成数据不一致只有在第二阶段完成了Confirm和Cancel之后才有可能才能保证数据的最终一致它是最终一致会有中间状态 AT模式是需要加锁去实现隔离的需要在第一阶段跟第二阶段持有全局锁在一二阶段之间其他事务是不能操作这个资源的从而确保安全在TCC模式下是不需要隔离的因为在第一阶段每个事务冻结的金额是不一样的每个事务回滚还是提交操作的都是本事务自己冻结余额不会影响不需要加锁第二阶段各自操作各自预留的资源互不影响TCC模式不需要加锁就实现了隔离比AT模式好了很多很多 2TCC案例 并不是所有的事务都适合TCC模式来实现想下单的逻辑是新增的逻辑怎么去资源预留它不适合TCC模式用AT模式就很好第一阶段新增了第二阶段回滚另外一个事务它也要做新增它跟前一个事务没有关系扣减库存的服务可以用ACC模式来实现我们这里演示金额扣减服务 幂等性我们有一个业务接口你调用我一次也好多次也好最终达成的效果是一致的不会因为重复调用出现问题这叫做幂等性 怎么避免业务悬挂呢在执行try的时候判断是否回滚过回滚过try就不能够执行 判断执行空回滚呢在执行cancel的时候判断try是否执行了try没有执行做空回滚 需要在数据库里记录当前事务的状态当前的事务状态在try状态啊还是confirm状态啊cancel状态啊只有知道事务的状态才能做空回滚和避免业务悬挂 新建表冻结金额表 BussinessActionContextParameter注解这个注解标记的参数将来放到一个上下文对象里BussinessActionContext通过这个对象都可以拿到这个参数 创建新的接口AccountTCCService接口 创建余额表用它表示资源的预留锁定事务状态 实体类 Mapper  创建实现类 用户余额表中的money字段添加了using 表示没有负号这个余额不会扣成负数当扣成负数时会直接报错事务自动回滚因此余额不用做判断了 所以在方法try中直接扣除余额不会做余额判断了 修改Try在其中做悬挂处理 Confirm逻辑 回滚userID Money可以从加入到全局的参数中获取也可以查询数据库从数据中获取 修改回滚在其中做回滚判断和幂等处理: 这里的userID从全局参数中获取然后再toString一下 修改Controller 修改成AccountTCCService  重启服务 使用Postman发送请求发送正确的参数 库存表从6到4  订单多了一条 余额减200 余额冻结表没有数据因为操作是正确的  异常数据 库存没变  订单没有增加  余额没变 余额冻结表多了一条记录state为2回滚状态  3Saga模式 Saga最大的缺点没有隔离性事务与事务之间有可能出现脏写的一二阶段之间既没有全局锁也没有冻结资源它是由隔离的安全问题的 它会逐个的去执行事务在这个流程中只有有事务出现问题它会反向依次执行补偿逻辑从而保证整个事务的状态一致性典型的分阶段提交 事务执行是可以基于事件驱动的一个事件完成执行下一个事件事件驱动好处是吞吐能力比较强他不会阻塞和等待事件到了就去干某一键事情 但是事件什么时候去执行时间时不确定的时效性没有那么强 这种长事务的解决方案时效性比较差一些比较适合用于事务跨度比较大的业务比如跨银行的业务调用啊转账等等业务比较复杂的场景一般情况下用不到 AT用的最多TCC和XA选做一些补充就够了
http://www.zqtcl.cn/news/462685/

相关文章:

  • 郑州网站提升排名上海 企业 网站建设
  • 南昌好的做网站的公司营销型网站 案例
  • 南宁经典网站建设网络运维工程师是干什么的
  • 网站开发算法建网站难不难
  • 茂名模板建站定制网站开发 ide
  • 做网站现在用什么语言网站估价
  • wap开头的网站外贸网站建设官网
  • 做网站说什么5.0啥意思wordpress教程视频 下载
  • 业务型网站做seo郑州网站推广优化
  • 400网站建设南昌网站建设方案详细版
  • 网站评论回复如何做中国住建部和城乡建设官网
  • 怎么建设网站南京做南京华美整容网站
  • 有哪些可以做1元夺宝的网站推广网站哪家做的好
  • 网站备案 域名不是自己的成都电子商务网站
  • 网站内容管理系统建设2021年建站赚钱
  • 网站建设交流发言稿找做网站的上什么app
  • 企业如何应用网站的wordpress lensnews
  • 可信的邢台做网站学电商运营需要多少钱
  • 网站中文名称做微商进哪个网站安全
  • 网站前端建设需要学会什么意思wordpress 快递查询 插件
  • 网站建设腾讯云与阿里云做网站上市的公司
  • 视频直播网站app开发网站备案主体是
  • 做的好的微信商城网站建设商务网站
  • 小白用网站建设工具专做奢侈品品牌的网站
  • 安装vs2015网站开发外包公司为什么没人去
  • 网站关键字多少合适唐河微网站开发
  • 临沂网站建站专业公司网站开发 文学
  • 乐清网站建设服务定制企业网站建设
  • 简单公司网站模版百度站长工具抓取诊断
  • 网站建设与管理维护 大学论文铁路建设单位网站