订单定时取消系统——高并发异步延时消息系统 - Go语言中文社区

订单定时取消系统——高并发异步延时消息系统


    项目做完了,总结一下:

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、代码就不上了,请看出毛病的大佬留言

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/xiaochu_chuxiao/article/details/80995341
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-09-04 14:15:45
  • 阅读 ( 1031 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢