MQ的使用场景:
- 异步处理:异步处理分为并行处理和串行处理。在引入mq之后,读取操作和修改操作,都将通过MQ,后按照进入顺序执行MQ中的操作。
- 应用解耦:简单来讲,就是降低系统之间的耦合度。例如用户进行下单,订单子系统通知库存子系统进行发货,如果库存子系统挂掉了,那这个动作就将失败,但引入MQ之后,订单子系统的通知将传入MQ之中,如果库存子系统挂掉,不影响订单子系统的操作,等库存子系统启动后,再按照顺序执行MQ中的"通知"。
- 流量削锋:在高并发的场景中,可以通过引入MQ,将同步操作修改为异步,并在涌入大量请求时,通过MQ中间件将请求存储到队列之中,之后听过消费者来逐个处理业务,达到削峰的目的。
- 消息通讯:消息队列一般都内置了高效的通信机制,因此也可以用在纯的消息通讯。比如实现点对点消息队列,或者聊天室(发布订阅模式)等。