[提炼&总结]账户系统的设计

最简单

一般而言,系统内都会有用户模块,如果涉及到钱、积分、兑换券之类的,那么最好搞一套账户模块。

简单的账户模块分为两部分,账户和流水记录。


207122-a9800b23f41f1e64.png
最简单的账户模块

在这种简单的模块内,典型的场景是用户做了某个操作,达到了预设条件,于是系统给予奖励,生成一条流水记录,该用户的账户内的金额也随之增加。用户也可以进行消费或提现,此时生成流水记录后,该用户的账户内金额是减少的。当然,用户还可以进行充值。

稍微复杂点

如果有人民币、积分、甚至美元等多个金融体系,那就要为每个用户创建一一对应的多个账户。如果涉及转换,那么一次转换就会生成两条流水记录,一条用于转出用户减少金额,另一条用户转入用户增加金额。

不论是在系统内对账户金额做增减,还是在涉及和第三方(支付宝、微信红包,等等)进行通讯的情况下,都会存在不成功的情况。这种场景需要确定两个问题,一是如何确定是哪条流水记录失败了,二是采取哪种回滚

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值