项目做完了,总结一下:
1、项目要求:
1)预扣库存可以及时归还,关系到后来订单的下单成功
2)不同类型商品可以实现不同的定时时长要求,比如:商品1订单10分钟,商品2订单15分钟......
3)可伸缩性,可以根据并发量的大小增加减少部署结点
4)并发量大的时候单节点内部自扩展,随着网站的成熟,结点可以自己扩展处理能力
5)结构简单,维护简单
2、上草图:初步设计:(满足不了要求4))
3、上草图:后续设计(为了满足要求4))(可以根据自己的并发量设计时间轮和Ringlist大小,还有job的初始化数量)
4、主要流程
1生成订单--->2生产一个消息(orderID,goodsNum)到rabbitmq--->3定时系统消费消息根据设计的indexcursor规则异步包装或处理job,若第3个步骤压力大,可以将处理job的业务逻辑分离,将要处理的job先放入rabbitmq,然后从mq中消费。
5、代码就不上了,请看出毛病的大佬留言