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

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

3) 发布/订阅(Publish/Subscribe)模式:发布/订阅功能使消息的分发可以突破目的队列地理指向的限制,使消息按照特定的主题甚至内容进行分发,用户或应用程序可以根据主题或内容接收到所需要的消息。发布/订阅功能使得发送者和接收者之间的耦合关系变得更为松散,发送者不必关心接收者的目的地址,而接收者也不必关心消息的发送地址,而只是根据消息的主题进行消息的收发。在MQ家族产品中,MQ Event Broker是专门用于使用发布/订阅技术进行数据通讯的产品,它支持基于队列和直接基于TCP/IP两种方式的发布和订阅。

4) 群集(Cluster):为了简化点对点通讯模式中的系统配置,MQ提供Cluster(群集)的解决方案。群集类似于一个域(Domain),群集内部的队列管理器之间通讯时,不需要两两之间建立消息通道,而是采用群集(Cluster)通道与其它成员通讯,从而大大简化了系统配置。此外,群集中的队列管理器之间能够自动进行负载均衡,当某一队列管理器出现故障时,其它队列管理器可以接管它的工作,从而大大提高系统的高可靠性。

MQ Server和MQ Client

MQ产品分为Server和Client 两种版本,在MQ服务器的运行环境下,有队列管理器、队列、消息通道等对象,它提供全面的消息服务;MQ Client为我们提供了一个MQ应用程序的开发和运行环境,它是MQ API的Client实现。在客户端环境下,没有队列管理器、队列等对象,它通过MQI通道与服务器之间建立通讯,并将消息从客户端发往服务器端的队列,或从Server端的队列中取得消息,它比较适合于网络条件较好或实时通讯的情况。同时要指出的是:采用MQ Client并不会导致数据的丢失或不完整性。MQ Client提供下列好处:适合同步处理的工作模式;减少系统负担;减少系统管理开销;减少磁盘空间要求等。

JMS定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。

  · StreamMessage -- Java原始值的数据流

  · MapMessage--一套名称-值对

  · TextMessage--一个字符串对象

  · ObjectMessage--一个序列化的 Java对象

  · BytesMessage--一个未解释字节的数据流

最新文章

  1. my97DatePicker日期控件——日期输入框联动,使用focus使第二个输入框没展示出日期控件
  2. 13、ASP.NET MVC入门到精通——MVC请求管道
  3. android setDestinationInExternalPublicDir 下载到SD卡根目录
  4. c# Exception 异常信息归整
  5. Spring MVC学习笔记——用户增删该查和服务器端验证
  6. 美女程序员是如何将QQ转换成题目中那串数字的--读博文《找女神要QQ号码》
  7. Android编译环境搭建(0818-0819)
  8. Failed to start component [StandardEngine[Catalina].StandardHost[localhost....
  9. 【分享】生成Revit扩展的addin文件小工具
  10. skiplist 跳表(1)
  11. C# 将XML格式字符串,写入数据集的表中 XML解析
  12. 如何制作一个类似Tiny Wings的游戏 Cocos2d-x 2.1.4
  13. 【编程技巧】EXTJS中Ext.grid.GridPanel配置项autoExpandColumn的使用方法
  14. javascript之正则表达式
  15. supervisor管理nginx
  16. MySQL技巧(二)——无限级分类表设计
  17. Python 实现红绿灯
  18. css回归测试工具:backstopjs
  19. Cobbler自动装机--1
  20. SourceTree commit information window消失解决办法

热门文章

  1. 防止ViewPager中的Fragment被销毁的方法,更加流畅
  2. Javascript中使用WScript.Shell对象执行.bat文件和cmd命令
  3. IOS从一个APP跳到另一个APP
  4. Python: 测试函数是否被调用
  5. 海蜘蛛WiFiDog固件 MTK7620 OEM,带云AC功能、探针、广告插入,MTK7620解包打包维修默认参数
  6. python-推荐
  7. [Z]The Boost C++ Libraries
  8. UIWebView 操作
  9. Qt编写自定义控件二动画按钮
  10. CreateProcessAsUser,C#写的windows服务弹框提示消息或者启动子进程