跳至主要內容

可能引发资损的问题

bsfc.tech大约 1 分钟架构技术Case

以下通过特定场景分析问题。

1. 内部系统逻辑错误

  • 费率单位换算:人为操作失误,如错输费率。
  • 金额单位换算:统一金额单位,使用元或者分。

2. 系统接口交互

  • 重复请求、并发:防重表或数据库对商户号+业务流水号做唯一索引约束,控制请求的是否重发
  • 并发请求:借助Redis分布式锁或者MySQL数据库排他锁
  • 交互结果的返回码:记录业务流水记录,设置处理中状态,根据上游通知或者主动查询确定终态;明确调用接口返回码的含义,区分是通讯结果还是业务结果,根据对应的返回码确定(含可重试的)失败、成功。

3. 系统漏洞、系统风控

  • 伪造请求:时间戳或者签名(RSA、HMAC、MD5)
  • 运营人员处理异常交易:权限,白名单,预防和监控
  • 内部人员调用系统:权限,白名单,预防和监控
  • 内部人员调数据库:权限,白名单,预防和监控