资损事故也可以算入广义的稳定性保障的一类,但是它也有自己的一些特点,
- 感知难:
比如:商户配错价格、秒杀商品大量超卖、优惠券规则有漏洞、搜索推荐出错影响广告收入、会员未自动续期、积分算错、清结算少抽佣、黑产使用业务漏洞等,这些平台感知能力弱,技术指标不敏感,大部分是舆论爆发后人工反馈。 - 修复慢:
修复慢是因为缺少可复用预案,只能临时Fix,时间上紧迫还容易引入新的风险。 - 影响大:
涉及到钱,发现晚,修复慢,量就上去了,继而金额巨大。
所以更应该把精力投入到事前预防和尽早发现上,这样才能减少损失。
预防阶段,需要重点评估下面的风险,我们需要有风险地图,并做到防资损设计:
- 幂等
- 并发时数据正确性
- 防数据篡改
- 防金额计算错误
- 检查默认值设置
- 数据一致性
- 兼容性问题
- 防状态机错误
- 环境隔离问题
- 防返回码解析错误
- 防变更配置错误导致资损的隐患?
- ...
资损风险最终的都会反映到资金层面上,一般系统中资金的变化主要体现在:资金流、资金账户、资金计算和资金凭据,我们就需要做核验:
- 资金流:通过梳理资金的流向,来确认资金转移的等式的正确性;
- 资金账户:通过流水和记录核对资金账户数据的正确性;
- 资金计算:通过数据对比进行正确性核算,比如:需要用BIGINT记录分金额,避免浮点存储计算不精确和DECIMAL精确计算代价高的问题;
- 资金凭据:验证凭据的数据准确性以及彼此关联的数据正确性;
预案主要是止损的部分,需要具备资产冻结、资金拦截、场景降级或禁用这些预案,并做到定期演练。
总之,资金安全无小事,我们需要尊重墨菲定律,围绕可能发生的问题做足准备。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
2013-11-25 Golang 绘图基础 -绘制简单图形
2013-11-25 Golang 绘图基础- 不同的输出源
2012-11-25 Android大图片内存清理
2011-11-25 PHP 和 Android MD5 加密出来结果是一样的代码
2010-11-25 win7 下安装 Microsoft Web Application Stress Tool