什么是MQ
MQ即消息队列。消息队列的含义是生产者与消费者通信时,把要传输的数据放到队列中。它被广泛应用在异步通信的领域中。
举个栗子:
老师希望学生多读书,经常给学生看一些好书,原来的方式是这样:老师需要等待学生课间的时候,把书给学生送去,并亲眼监督学生读完书才走。久而久之,老师和学生都觉得麻烦。
后来演进成:老师对学生说「我放到书架上的书你都要看」,然后老师每次发现不错的书都放到书架上,学生看到书架上有书就拿下来看。
此时的书架就是一个消息队列,老师是生产者,学生是消费者。
好处:
-
老师想给学生书的时候,不必看学生是否有空,老师只需要把书放到书架上就行了。这样双方时间都更自由。
-
不必亲眼观察学生的读书过程,节省时间。
-
如果有一天另一个学生也想一起看书,老师只需要把书放到书架上,不同的学生从书架上取书即可
-
书架上的书放在那里,学生阅读速度快就早点看完,阅读速度慢就晚点看完,没关系,所以学生(消费者)压力会小一些。
推理出:MQ主要的使用场景就是将比较耗时而且不需要即时(同步)返回结果的操作作为消息放入消息队列。同时由于使用了消息队列,消息的发送方和接收方并不需要彼此联系,也不需要受对方的影响,即解耦和。
MQ的好处
1.解耦
每个成员不必受其他成员影响,可以更独立自主,只通过一个简单的中间件来联系。
栗子:
老师可以不知道从书架上取书的是谁,学生也可以不知道往书架上放书的人是谁,在他们眼里,都只有书架,没有对方。
2.提高效率
老师「把书放到书架上,别的我不问」,为自己节省了大量时间。不需要花费额外时间监督
3.异步

本文介绍了MQ的基本概念,强调了解耦、提高效率、异步处理等核心优点,并详细阐述了点对点模式和发布/订阅模式的应用。通过实例说明,帮助读者深入理解MQ在系统设计中的重要角色。
最低0.47元/天 解锁文章
1187

被折叠的 条评论
为什么被折叠?



