05小节:开发用户优惠券分发功能(二)
作者:程序员马丁
note
热门项目实战社群,收获国内众多知名公司面试青睐,近千名同学面试成功!助力你在校招或社招上拿个offer。
开发用户优惠券分发功能(二),元数据信息:
- 什么是牛券oneCoupon:https://t.zsxq.com/pAWgS
- 代码仓库:https://gitcode.net/nageoffer/onecoupon —— 申请项目权限参考上述牛券项目链接
- 章节难度:★★★★☆ - 很难
- 视频地址(上):https://t.zsxq.com/CKHQb
- 视频地址(下):https://t.zsxq.com/n4eCo
©版权所有 - 拿个offer-开源&项目实战星球专属学习项目,依据《中华人民共和国著作权法实施条例》和《知识星球产权保护》,严禁未经本项目原作者明确书面授权擅自分享至 GitHub、Gitee 等任何开放平台。违者将面临法律追究。
内容摘要:在 v1 版本的基础上,通过引入批处理和保存失败记录的逻辑,大幅提升了业务执行性能,并支持查看 Excel 分发的错误记录。相同的 5000 条记录,v1 版本执行时间约为 1 分钟,而 v2 版本仅需 1 秒,实现了接近 60 倍的性能提升。
课程目录如下所示:
- 业务背景
- Git 分支
- 数据库表涉及
- 重构优惠券分发逻辑
- 记录分发点位
- 重构消息队列执行
- 批量保存用户优惠券
- 保存用户领券失败记录
- 文末总结
业务背景
在上一节中,我们通过 EasyExcel 的方式读取用户分发券 Excel,并将结果保存到了数据和缓存中。如果你刚工作,写之前的代码没问题,如果工作几年或者有全局意识,大家就应该能想到,代码逻辑是有问题的。我梳理了几点内容,大家一起看看:
- 尽量不要在单个消息消费逻辑中执行太长的业务逻辑,我们应该尽可能的让这个消息执行时长变短。