系统架构最佳实践 -- 一般优惠券思想和方案

1.优惠券系统的核心思想

默认的优惠券系统:根据运营人员设定的条件生成对应的优惠券模板、

  • 优惠券码的要求:唯一性和有一定的识别性
    优惠券码的格式(一共18位):产品线+类型(前四位)+日期随机码(中间六位)+0到9的随机数(后八位)
  • 优惠券异步生成:因为我们一次性可能会生成几万个优惠券,所以我们在后台创建的时候,进行异步处理(可以采用消息队列来实现)

2.技术方案

  • 通过优惠券模板生成优惠券码保存到redis,方便我们进行查询和处理数据
  • 优惠券在一个实例服务生成:这样做的目的是解决优惠券码一致性的问题(我们在代码中使用Set数据结构生成),这样的做的好处是不会造成优惠券码的超发和分发优惠券配额问题

3.优惠券过期问题

优惠券具有时间属性,如果优惠券过期了,则不可使用,因此系统需要能够定期清除过期的优惠券,目前有两种方式;

  • 第一种方式是使用定时器定时扫描redis存储的优惠券数据,如果失效了,则进行清除;
  • 第二种是除了定时器以外的模块进行清除,比如客户端在请求优惠券列表的时候,我们可以先对优惠券列表进行遍历,如果过期了,这进行处理

4.优惠券结算(核销功能)

优惠券在使用的时候,我们需要判断优惠券的可用性

  • 结算的时候需要判断优惠券是否合法,判断优惠券是否过期和该用户是否是系统内部的用户
  • 通过不同的优惠券组合计算出最终的价格
  • 如果(核销优惠券)支付成功,这需要会写数据,更改优惠券状态
相关推荐
贺国亚4 小时前
Multi-Agent与Multi-Task编排架构
架构
Qiuner6 小时前
Pico 重塑Agent时代人与数据交互方式
windows·docker·ai·架构
心之伊始9 小时前
MySQL EXPLAIN 执行计划实战:从 type、Extra 到慢 SQL 定位与优化
java·架构·源码分析·csdn
国科安芯9 小时前
国科安芯推出商业航天级抗辐照全双工 RS485/422 收发器 ASC491S2Y
网络·分布式·单片机·架构·安全性测试
一切皆是因缘际会9 小时前
AI智能新时代
数据结构·人工智能·ai·架构
微三云、小叶11 小时前
新型消费积分商业模式拆解:盈利架构、衰减铸造模型与项目风控要点
架构·软件开发·商业模式·本地生活·商业思维·私域运营
SilentSamsara11 小时前
Python 微服务全链路:gRPC + 链路追踪 + 服务网格接入
开发语言·分布式·python·微服务·架构
candyTong11 小时前
Claude Code 的工具延迟加载机制
架构
葫芦和十三11 小时前
执行拓扑|Agent 不只是会什么,还要怎么跑
架构·agent·ai编程
国科安芯12 小时前
国科安芯推出商业航天级抗辐照半双工 RS485 收发器 ASC485S2Y
前端·单片机·嵌入式硬件·架构·安全性测试