码迷,mamicode.com
首页 > 其他好文 > 详细

消息队列的简单理解

时间:2018-11-27 01:30:16      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:类型   color   span   常见   客户端   没有   联网   message   信息   

消息队列,MessageQueue,简称MQ。

消息队列有什么用?

解耦 、削峰 、异步

解耦:将消息写入消息队列,需要消息的系统自己从消息队列中订阅,从而系统不需要做任何修改。

异步:将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度。
削峰:系统慢慢的按照数据库能处理的并发量,从消息队列中慢慢拉取消息。

消息队列的通讯模式

1) 点对点通讯:点对点方式是最为传统和常见的通讯方式,它支持一对一、一对多、多对多、多对一等多种配置方式,支持树状、网状等多种拓扑结构。

2) 多点广播:MQ适用于不同类型的应用。其中重要的,也是正在发展中的是"多点广播"应用,即能够将消息发送到多个目标站点(Destination List)。可以使用一条MQ指令将单一消息发送到多个目标站点,并确保为每一站点可靠地提供信息。MQ不仅提供了多点广播的功能,而且还拥有智能消息分发功能,在将一条消息发送到同一系统上的多个用户时,MQ将消息的一个复制版本和该系统上接收者的名单发送到目标MQ系统。目标MQ系统在本地复制这些消息,并将它们发送到名单上的队列,从而尽可能减少网络的传输量。

3) 发布/订阅(Publish/Subscribe)模式:发布/订阅功能使消息的分发可以突破目的队列地理指向的限制,使消息按照特定的主题甚至内容进行分发,用户或应用程序可以根据主题或内容接收到所需要的消息。发布/订阅功能使得发送者和接收者之间的耦合关系变得更为松散,发送者不必关心接收者的目的地址,而接收者也不必关心消息的发送地址,而只是根据消息的主题进行消息的收发。

push模式和pull模式

推(push)模式是一种基于C/S机制、由服务器主动将信息送到客户器的技术。
1. 在push模式应用中,服务器把信息送给客户器之前,并没有明显的客户请求。push事务由服务器发起。push模式可以让信息主动、快速地寻找用户/客户器,信息的主动性和实时性比较好。但精确性较差,可能推送的信息并不一定满足客户的需求。
2. 推送模式不能保证能把信息送到客户器,因为推模式采用了广播机制,如果客户器正好联网并且和服务器在同一个频道上,推送模式才是有效的。
拉(pull)模式与推模式相反,是由客户器主动发起的事务。
服务器把自己所拥有的信息放在指定地址(如IP、port),客户器向指定地址发送请求,把自己需要的资源“拉”回来。不仅可以准确获取自己需要的资源,还可以及时把客户端的状态反馈给服务器。

 消息队列有哪些?

消息队列的简单理解

标签:类型   color   span   常见   客户端   没有   联网   message   信息   

原文地址:https://www.cnblogs.com/expiator/p/10023649.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!