构建高可用的扣减服务
扣减和归还类业务需要关注点
数据库扣减实现方案
核心表定义
实现核心流程
读写分离优化
添加缓存增加读性能
缓存实现方案
缓存不设置过期时间
LUA脚本实现批量操作
缓存方案优化
缓存+数据库实现方案
异步任务的设计
一致性哈希任务分配
扣减返还设计
扣减完成才能返回
一次扣减会有多次返还
返还的总数量要小于等于原始扣减数量
接口实现幂等
表设计
热点扣减
流量消峰
常见的限流算法 令牌桶算法
集中式限流修改为单机限流
水平扩展优化
前段资源前置
业务隔离
部署隔离
参考资料: