30-使用RocketMQ做削峰处理

1、增加排队功能的思路

        在出票模块里,一个消费者拿到了某个车次锁,则该车次下所有的票都由他来出,一张一张的出,知道所有的订单都出完。

30-使用RocketMQ做削峰处理_第1张图片

2、实现排队出票功能

2.1、  修改发送到MQ消息的内容

        修改MQ消息内容,只需要通知出哪天和哪个车次的票(即:组成锁的内容),不需要具体到哪个人。

2.1.1、创建内部传递的dto类ConfirmOrderMQDto

@Data
public class ConfirmOrderMQDto {

//    火车车次
    private String trainCode;

//    日期
    private Date date;

    /**
     *  日志流程号,用于同转异时,用同一个流水号
     */
    private String logId;

}

2.1.2、BeforeConfirmOrderServiceImpl类中 修改发送到MQ消息的内容

@Service
public class BeforeConfirmOrderServiceImpl implements BeforeConfirmOrderService {

    private static final Logger LOG = LoggerFactory.getLo

你可能感兴趣的:(07-12306,rocketmq)