支付系统中的高并发热点账户的更新

支付中的账户体系:(三户模型),客户、账户和用户。

其中客户指的是,自然人、法人,如一般在系统中分为企业用户、个人用户。在信用卡中分为普通卡客户、白金卡客户等等。

账户指的是为客户进行交易活动而开设的虚拟账户,账户一般记录交易产生的记录,即记账。

而用户指的是系统的登录的用户相关信息。比如用户密码、角色、权限等。

热点账户更新就是对账户的更新。

热点账户一般分为加频账户、减频账户以及双频账户。

加频账户:入金比较频繁的账户,比如募集筹款的活动。

减频账户:如给员工发放工资的账户。

双频账户:如电商平台的用户在支付公司的一个资金流。用户在某平台A 下单购物,用户的钱会先收取到平台A的内部账户,再转让给平台A上的卖家基本户,最后卖家再提现到自己的银行账户。这里的平台A的内部账户就是双频账户。
 

热点账户的问题在于各线程竞争对于账户余额的操作权。核心思路是减少单位时间内对余额的操作。常用的方法有:

1、限流(超出能力范围内的不处理,主要通过拒绝部分请求来实现,一般是在系统压测后得到系统的承载阈值,作为兜底),该方式会影响用户体验。

2、缓冲,就是先将请求放置到可靠的消息队列中,然后给调用者返回,之后从消息队列中取出请求慢慢处理。使用削峰填谷的方式减少单位时间内对同一个账户的操作。也容易造成消息积压。

3、汇总提交,也就是保存每个并发的操作明细,然后由定时任务一次性的汇总更新到数据库并修改明细的状态。比较适合于加频账户,实现起来比较简单,缺点是账户余额更新不及时。一般只针对减频账户。

4、将账户拆成多个影子账户。通过影子账户路由,将不同操作线程路由到不同的影子账户更新。这中方式有

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值