整体流程已经很清楚了,看图说话: ![](https://img.kancloud.cn/90/d5/90d5461ae5253f85ab7dc620f9cd337c_1061x737.png) ### 请求进来之后先做了验证码校验,然后就是防止机器人刷票的校验,然后就是令牌桶数量的校验,拿到令牌才有资格买票,有资格的就会将数据抛到rocketmq进行异步出票,或者理解为异步或者消峰,rocketmq会按照一定的速率进行消费,消费的时候就回去操作数据库出票,然后前端轮训出票结果 ### 这个过程当中我们测试的时候会给更多的令牌,让更多的请求有机会进入购票下单流程,那么这个时候就会有大量的数据抛到rocektmq当中被消费,但是票就那么多,所以大量的并发情况下,就会有很多的不可能买到票的消息抛到rocketmq当中去,当然我们是为了测试,真实情况下就是多少令牌多少个消息进入到rocketmq当中去被消费!!! ### 那么测试的时候,尤其是第二次测试的时候我想清空rocketmq当中还没来被消费的消息,因为即使消费端服务停了,那么堆积的消息还是会保留的,因为rocektmq是以磁盘文件来存放数据的!!!如何清除了呢? ### **第一步:停止rocketmq消息** 停止 rocketmq:kill -9 全干掉就好 ### **第二步:删除 /root 下的 logs/rocketmqlogs : 大量日志** ### **第三步:删除 /root/store 整个目录,貌似是积攒的 MQ 中的 topic 等信息** ### **第四步:验证是否删除了topic等数据** ![](https://img.kancloud.cn/d4/8a/d48a0955f0c0625141d0157672323331_1389x348.png) ### 如果还有那么执行 `sh mqadmin topicList -n 192.168.31.188:9876` ` sh mqadmin deleteTopic -c HOSTNAME -n 192.168.31.188:9876 -t orderTopic` ### 表示查看所有topic主题 以及 删除orderTopic主题 ### **第五步:重启rocketmq** ### 参考文章:https://my.oschina.net/tantexian/blog/703785