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

html5网站开发demoXART视频库WordPress

html5网站开发demo,XART视频库WordPress,门户网站建设一般多少钱,wordpress如何添加搜索到主菜单其他方案 1.事务状态表调⽤⽅重试接收⽅幂等 介绍 调⽤⽅维护⼀张事务状态表#xff08;或者说事务⽇志、⽇志流⽔#xff09;#xff0c;在每次调⽤之前#xff0c;落盘⼀条事务流⽔#xff0c;⽣成⼀个全局的事务ID 事务开始之前的状态是Begin#xff0c;全部结束之…其他方案 1.事务状态表调⽤⽅重试接收⽅幂等 介绍 调⽤⽅维护⼀张事务状态表或者说事务⽇志、⽇志流⽔在每次调⽤之前落盘⼀条事务流⽔⽣成⼀个全局的事务ID 事务开始之前的状态是Begin全部结束之后的状态是End。如果某个事务⼀直停留在Begin状态则说明该事务没有执⾏完毕 然后有⼀个后台任务扫描状态表在过了某段时间后假设1次事务执⾏成功通常最多花费30s状态没有变为最终的状态说明这条事务没有执⾏成功。于是重新调⽤系统的接口。保证这条流⽔的最终状态是End状态 事务状态表 补充说明 幂等问题系统调用方和被调用方根据全局的事务ID做幂等操作所以即使重复调⽤也没有关系如果后台任务重试多次仍然不能成功要为状态表加⼀个Error状态通过⼈⼯介⼊⼲预对于同步调⽤调⽤⽅调⽤A或B失败的时候可以重试三次。如果重试三次还不成功则放弃操作再交由后台任务后续处理 2.对账 介绍 所有的“过程”都必然产⽣“结果”过程是我们所说的“事务”结果就是业务数据。⼀个过程如果部分执⾏成功、部分执⾏失败则意味着结果是不完整的。从结果也可以反推出过程出了问题从⽽对数据进⾏修补这就是“对账”的思路 分类 全量对账⽐如每天晚上运作⼀个定时任务对比两个数据库增量对账可以是⼀个定时任务基于数据库的更新时间也可以基于消息中间件每⼀次业务操作都抛出⼀个消息到消息中间件然后由⼀个消费者消费这条消息对两个数据库中的数据进⾏⽐对当然消息可能丢失⽆法百分之百地保证还是需要全量对账来兜底 例子 案例1 电商⽹站的订单履约系统。⼀张订单从“已⽀付”到“下发给仓库”到“出仓完成”。假定从“已⽀付”到“下发给仓库”最多⽤1个⼩时从“下发给仓库”到“出仓完成”最多⽤8个⼩时。意味着只要发现1个订单的状态过了1个⼩时之后还处于“已⽀付”状态就认为订单下发没有成功需要重新下发也就是“重试”。同样只要发现订单过了8个⼩时还未出仓这时可能会发出报警仓库的作业系统是否出了问题……诸如此类 案例2 微博的关注关系。需要存两张表⼀张是关注表⼀张是粉丝表这两张表各⾃都是分库分表的。假设A关注了B需要先以A为主键进⾏分库存⼊关注表再以B为主键进⾏分库存⼊粉丝表。也就是说⼀次业务操作要向两个数据库中写⼊两条数据如何保证原⼦性 案例3 电商的订单系统也是分库分表的。订单通常有两个常⽤的查询维度⼀个是买家⼀个是卖家。如果按买家分库按卖家查询就不好做如果按卖家分库按买家查询就不好做。这种通常会把订单数据冗余⼀份按买家进⾏分库分表存⼀份按卖家再分库分表存⼀份。和案例2存在同样的问题⼀个订单要向两个数据库中写⼊两条数据如何保证原⼦性 案例2和3的解决思路 如果把案例 2、案例 3 的问题看作为⼀个分布式事务的话可以⽤对账解决 因为两个库的数据是冗余的可以先保证⼀个库的数据是准确的以该库为基准校对另外⼀个库 总结 对账的关键是要找出“数据背后的数学规律”。有些规律⽐较直接谁都能看出来⽐如案例2、案例3的冗余数据库有些规律隐含⼀些⽐如案例1的订单履约的状态。找到了规律就可以基于规律进⾏数据的⽐对发现问题然后补偿 3.弱⼀致性基于状态的补偿 场景 需求解析 对于该需求有⼀个关键特性对于电商的购物来讲允许少卖但不能超卖。⽐如有100件东西卖给99个⼈有1件没有卖出去这是可以接受的但如果卖给了101个⼈其中1个⼈拿不到货平台违约这就不能接受。⽽该处就利⽤了这个特性 流程 提交订单成功扣库存成功返回成功提交订单成功扣库存失败返回失败调⽤⽅重试此处可能会多扣库存提交订单失败不再扣库存调⽤⽅重试 解决 只要最终保证库存可以多扣不能少扣即可 但是库存多扣了数据不⼀致怎么补偿呢 库存每扣⼀次都会⽣成⼀条流⽔记录。这条记录的初始状态是“占⽤”等订单⽀付成功后会把状态改成“释放” 对于那些过了很长时间⼀直是占⽤⽽不释放的库存要么是因为前⾯多扣造成的要么是因为⽤户下了单但没有⽀付 通过⽐对得到库存系统的“占⽤又没有释放的库存流⽔”与订单系统的未⽀付的订单就可以回收这些库存同时把对应的订单取消。类似12306⽹站过⼀定时间不⽀付订单会取消将库存释放 4.重试回滚报警⼈⼯修复 先扣库存后创建订单。不做状态补偿为库存系统提供⼀个回滚接口。创建订单如果失败了先重试。如果重试还不成功则回滚库存的扣减。如回滚也失败则发报警进⾏⼈⼯⼲预修复 总之根据业务逻辑通过三次重试或回滚的⽅法最⼤限度地保证⼀致。实在不⼀致就发报警让⼈⼯⼲预。只要⽇志流⽔记录得完整⼈⼯肯定可以修复通常只要业务逻辑本⾝没问题重试、回滚之后还失败的概率会⽐较低所以这种办法虽然丑陋但很实⽤
http://www.zqtcl.cn/news/331280/

相关文章:

  • 怎么可以黑网站域名建设网站的网站是什么
  • 帝国网站数据库配置文件建筑人才网招聘网官网首页
  • c 做的网站怎么上传图片阿里巴巴网站建设的目的
  • 保定模板建站平台微网站怎么做的好
  • 肇庆网站建设方案维护做学校网站素材图片素材
  • 新潮远网站建设建什么类型个人网站
  • 泉州中小企业网站制作洛浦县网站建设
  • 做游戏视频网站用什么程序好wordpress 地址修改
  • 大连的网站建设阳西网站seo
  • 网站制作电话多少网站商品图片怎么做
  • 定制做网站平台网站什么情况要更新
  • 上海网站建设哪家国外有哪些网站可以做电商
  • 网络软文推广网站wordpress仿站抓取软件
  • 安徽圣力建设集团网站当当网站建设与易趣网站对比
  • 长沙网站设计制作DW做注册网站
  • 商城设计网站关键词的优化在哪做
  • 网站锚文本网络营销的解释
  • 苏州专业网站建设网站模板是什么
  • 科技网站设计案例百度收录情况查询
  • gif放网站有锯齿策划公司宣传语
  • 淘宝客做网站怎样推广空间购买后打不开网站
  • 信阳网站设计银川网站建设nx110
  • 建设安全协会网站58招聘运营网站怎么做
  • 做原创的网站做游戏平面设计好的素材网站有哪些
  • 校园网站wordpress 防攻击插件
  • wordpress 更好的主题丁的老头seo博客
  • 上海市工程信息网站北京专业网站翻译影音字幕翻译速记速记速记速而高效
  • 网站建设心得体会500字网页制作三剑客是指什么
  • 大连做网站优化一级a做爰片 网站就能看
  • 网站优化页面中山seo网络推广