谷粒商城RabbitMQ设计思想详解:消息队列双重保险设计

前言

请添加图片描述
上来先放一张设计图,看这篇文章的前提是一定得写过或者了解这段业务,不然会看不懂,我下面将会给出我的理解,尽量让大家明白

设计思想

@Transactional
    @Override
    public SubmitOrderResponseVo submitOrder(OrderSubmitVo vo) {
   
   
        //前面的代码略过,只关注消息队列的入口        
          注意,这是整个mq系统的入口,调用了wmsFeignService.orderLockStock(lockVo)的时候就向stock.delay.queue这个延时队列(50min)里面添加了锁库存的消息,
          50min之后如果过期,此消息将会被自动路由(设计的时候就是这样设计的,是mq自动做的路由,不用写java代码)到死信队列stock.release.stock.queue中
          发送的类型是StockLockedTo对象,意味着这条消息将会被OrderCloseListener的第一个监听函数监听到,将会去解锁库存
         
          下面那个rabbitTemplate.convertAndSend("order-event-exchange","order.create.order",order.
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值