每一次事故的发生,往往都是发生后才发现有很多方法可以用,事前想不到的原因,可能就是如果你没有经历过这些坑是很难避免的,因为你没有经验;其次,一个事故的产生,往往是各个关卡都没有拦截住才导致的,但凡是有一个环节做了拦截处理,那么一定会拦截住这次事故。就像生产管理学中有一个著名的理论——“海恩原则”一样,海恩法则指出,“每一起严重事故的背后,必然有 29 次轻微事故和 300 起未遂先兆,以及 1000 起事故隐患。
如何设计重试场景?对于明确的、正常的流程仍然保持自动化流程,减少运营工作量,但是对于极少数不确定状态(异常状态、中间状态)才会挂起,引入人工干预,避免异常不确定状态下自动重试带来的资金风险。
冯忠旗,目前是京东数科高级架构师,2015-2018 在宜信支付与结算中心担任支付结算平台技术负责人,2010-2014 在 IBM CDL 中国研发中心担任 ITAAS 私有云 RingCloud 技术团队研发负责人。对支付、账户产品以及基于支付和账户的消金和供应链金融产品有丰富的项目经验,曾帮助多家互联网银行搭建技术平台,同时主导聚合付钱拉技术平台的产品研发工作。
技术方面,个人比较关注高并发、高可用的架构设计,对分布式系统建设过程中的业务拆分、分库分表、消息队列、性能调优等方面有深入研究和实战经验,热衷于技术研究和分享,曾经在极客邦 InfoQ 全球开发者大会被邀请作为讲师分享技术产品经验。
作者回复: 谢谢建议,发布的时候我也有这样的顾虑,许多想详细展开的又有点顾虑,我下一篇正好有相关的主题,从另外的纬度把这里面的重点部分再补充下
作者回复: 可以考虑哈,谢谢支持
作者回复: 客气啦,😂
作者回复: 两种解决办法,下一篇相关主题会详细讲到,一种是正常事务回滚,一种反向操作以及如何避免。