数据库热点数据实现

1. 背景

公司奖励户在活动期间发红包,涉及大量的并发。单行操作难以满足性能问题,通过子账户的拆分来解决问题

2. 流程

2.1 加钱

封装成组件。
1 维护可扣款子账户列表
2 在页面可以选择往哪个子账户加钱,加多少钱。
3 异步通知母账户加钱(MQ)。异步是为了性能考虑,如若使用同步必然降低性能。

2.2 扣款

封装成组件。
1 维护可扣款子账户列表(有余额的),每个子账户有个状态:是否可以扣款。
2 扣款的时候随机路由选择某个子账户做扣款。若失败,重试
3 扣款成功,异步同步母账户扣款(MQ). 异步是为了性能考虑,如若使用同步必然降低性能。
4 定时任务轮询,如果某个子账户没有钱,更新列表的子账户的状态。这样扣款的时候就不会因为子账户没有钱产生失败的情况。

2.3 业务模型

母账户

子账户

2.4 物理模型

母账户

母账户表. account

子账户

多张子账号表。假如有24个字账户,表明可以是 sub_account_0 - sub_account_23

参考资料

posted @   向着朝阳  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示