Java框架篇--MQ的原理及使用场景?你都用过哪些 MQ 中间件?

之前的文章中我们讲过“手写消息队列”,当时粗略的讲了 Java API 中使用 Queue 实现自定义消息队列,以及使用 Delayed 实现延迟队列的示例;同时还讲了 RabbitMQ 中的一些基础概念。本课时我们将会更加深入的讲解 MQ(Message Queue,消息队列)中间件,以及这些热门中间件的具体使用。

我们本课时的面试题是,MQ的原理及使用场景?你都用过哪些 MQ 中间件?

回答:

在介绍 MQ 的使用场景之前,先来回忆一下 MQ 的作用。MQ 可以用来实现削峰填谷,也就是使用它可以解决短时间内爆发式的请求任务,在不使用 MQ 的情况下会导致服务处理不过来,出现应用程序假死的情况,而使用了 MQ 之后可以把这些请求先暂存到消息队列中,然后进行排队执行,那么就不会出现应用程序假死的情况了,所以它的第一个应用就是商品秒杀以及产品抢购等使用场景,如下图所示:

Java框架篇--MQ的原理及使用场景?你都用过哪些 MQ 中间件?_第1张图片
                                                                                  使用 MQ 实现消息通讯

使用 MQ 可以作为消息通讯的实现手段,利用它可以实现点对点的通讯或者多对多的聊天室功能。

点对点的消息通讯如下图所示:

你可能感兴趣的:(Java源码剖析)