目录
什么是MQ
MQ即消息队列。消息队列的含义是生产者与消费者通信时,把要传输的数据放到队列中。
利用消息队列的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。
它被广泛应用在异步通信的领域中

异步通信与同步通信
我们知道消息队列是异步的,那异步和同步有什么区别呢?
同步消息,A从填写信息到发送信息走了N个步骤, 只有当发送信息成功时,页面才会响应注册成功。如果此时有100个消息都卡在后台业务逻辑代码排队处理,此时,只有等前100个消息都处理完,才会处理第101个,第101个处理完才会返回给当前用户注册成功的提示。

异步消息,A把信息发送到消息队列后,即会返回给当前用户注册成功,此时,后台处理发送短信的业务逻辑,而已经收到成功通知的A用户可以把精力转移到另外的事情上去了。

消息队列的好处
异步
很多消息没有必要等到完全处理好之后再返回相应信息,异步可以更好的解放生产者。
解耦
允许你独立的扩展或修改两端的处理过程,只要确保它们遵守同样的接口约束,要通信的数据交给消息队列来处理
缓存
有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息处理速度不一致的情况。
削峰
在访问量剧增时,通过消息队列的拦截,可以让不符合条件的请求直接返回给用户拒绝处理的信息,而不会再去走后台代码耗费性能
消息队列的两种模式
点对点模式(一对一,消费者主动从消息队列中拉取数据,消息收到后清除消息队列中对应内容)
对一个消息而言,只会被一个消费者消费

发布/订阅模式(一对多,消费者消费数据之后不会清除消息队列中的数据)
一个消息可能会被多个消费者消费


1336

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



