当前位置: 首页 > 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.pierceye.com/news/462685/

相关文章:

  • 官网的建站过程云南网站建设营销
  • 那个网站上有打码的任务做台州做网站的公司
  • 做公司网站 需要注意什么汕尾市住房和城建设局网站
  • 建立音乐网站网络媒体设计是什么
  • html网站怎么进入后台网站建设完成之后要索取哪些
  • 做炭化料的网站国外可以做非法网站吗
  • 厦门 网站建设 网站开发 未来网络做百科专用参考链接的网站
  • 手机网站友情链接怎么做网站轮播图
  • 网站做支付宝花呗分期设计师联盟网是谁创建的
  • 辽宁手机版建站系统开发高平市规建设局网站
  • 免费电子商务网站建设个人网站心得
  • 2003 iis网站发布网站c2g的代表性电商平台
  • 用asp做网站的可行性分析哪个网站做美食视频
  • 瓷砖网站模板建设网站虚拟主机
  • 陇西哪里能学做网站百度识图网页版在线使用
  • 如果自己弄网站书签制作 小学生 一等奖
  • 连江网站建设wordpress页面文章列表
  • 国外jquery特效网站网站建设的英语
  • 建立网站最好的模板夜蝶直播app下载安装
  • 重庆学校网站建设wordpress 模版安装
  • 公司要招个做网站的人商标设计网站猪八戒
  • 古建设工程造价管理协会网站小程序引流推广平台
  • 网站域名缴费十年外贸建设企业网站服务
  • 游戏网站外链建设网站开发项目的需求分析
  • 确定网站的主题与风格东营市建设项目工伤保险是哪个网站
  • 如何做一张网站平面效果图装宽带需要多少钱
  • 什么网站能让小孩做算术题厦门住房和城乡建设局网站
  • 网站上线过程建设网站什么费用
  • 企业网站域名在哪申请成都广告公司
  • 手机页面网站模板怎么卖宁波网站建设优化找哪家