springBoot自带的异步和MQ有什么区别呢
来源:20-7 使用异步线程代替RocketMQ

qq_Theonlywinne_0
2023-07-13
- 既然异步线程也能解决,为什么还要用RocketMQ,它是有更多功能吗
- 为什么用MQ后,买票就可以从只使用锁时,50张票,两百人抢,会有剩余的情况。变成了50张票全部卖完,不会有剩余。这个原理是什么呢?
写回答
1回答
-
1 异步是在本机运行的,MQ的收发可以不在同一机器上。比如购票的场景,用异步的话,接收订单和处理订单是在同一机器上,会抢资源;用MQ的话,就可以放在不同的机器上,比如接收订单的需要快速处理,可以配置10台机器,处理订单的不需要那么高的并发,只配置5台机器就可以了。
2 不用MQ时,假设库存10,有10个人同时抢票,只会有一个人拿到锁,另外9个人直接失败,也就是经过10人抢票后,只卖出去了一张票。而用MQ后,10个人是排队一个一个出票的,最终不会有剩余。
10
相似问题