设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> 网络编程 >> PHP >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
Eclipse 3.0 上配置JSP开…
有关JSP/Servlet的重定向…
JSP/Servlet/JSF:标签库…
PHP has encountered an…
SAX读取Yahoo Service天…
JSPServlet构建三层管理…
Applet编程——Applet与…
PHP实现多web服务器共享…
Linux下PHP连接MS SQLSe…
讲述PHP中Session的概念
  MQSeries 入门手册         
MQSeries 入门手册
 

介绍
MQSeries 是一个通信系统,它在各种广泛的硬件和软件平台之间提供确保的、异步的、一次性数据发送。 

这些特性使得 MQSeries 成为应用程序间通信的理想基础结构,并成为一个正确的解决方案,不论这些应用程序是在同一台机器上运行还是在由一个或多个网络分隔的不同机器上运行。 

MQSeries 支持所有重要的通信协议,另外还提供在使用不同协议的网络之间的路由。仅需很少的编程或不需要编程,MQSeries 网桥和网关产品就能允许便捷地访问许多现有的系统和应用程序环境,例如 Lotus Notes、Web 浏览器、Java 小应用程序和许多其它产品。 

确保的传递能力反映为许多在 MQSeries 中内建的功能可以确保不会因为基本系统或网络结构故障而丢失数据。确保的传递能力使得 MQSeries 形成了关键通信系统的主干,并被受托传递重要数据。在某些适当的场合也可提供您选择健壮性稍低的服务质量。例如,可能在一些环境中,您会需要更快速的传递,而对可信传递方面强调较少。 

MQSeries 中的异步处理支持是指在发送和接收应用程序之间的数据交换是与时间无关的。这允许发送和接收应用程序相互分离,这样发送方就可以继续处理,而不需要等待接收方确认其已接收到数据。实际上,在发送数据时目标应用程序甚至不需要运行。同样,在传送数据时,可以不使用发送方和接收方之间的网络路径。 

一次性传递数据是一个重要的考虑因素,特别是在金融和商业应用程序中,您肯定不希望从一个帐户中移动大量钱款至另一帐户的请求重复发生。
消息、队列和队列管理器
在 MQSeries 中需要理解的三个基本概念是: 

消息 
队列 
队列管理器 

消息
  
消息就是对使用它的应用程序有意义的字节串。消息是用来从一个应用程序传送数据至另一个应用程序(或相同应用程序中的不同部分)。应用程序可以在同一个平台或不同的平台上运行。   

MQSeries 消息有两部分;应用程序数据和消息描述符。应用程序数据的内容和结构由使用数据的应用程序来定义。消息描述符标识了该消息,并包含其它控制信息,如消息类型以及由发送应用程序为消息指定的优先级。 


队列
  
队列是存储消息的数据结构。由应用程序或队列管理器将消息放入队列或从队列中取出,是它的一些常规操作。 

队列对于使用它们的应用程序来说是独立存在的。队列可存在于主存储器(如果它是临时的),磁盘或相似的辅助存储器(如果必须保留以备恢复的话),或同时在这两处(如果它正在使用,且必须保留以备恢复)。每个队列都属于一个队列管理器,它负责维护队列。队列管理器将接收到的消息放入合适的队列中。 

队列可以在本地系统上存在,这种情况下它们称为本地队列,也可以在另一个队列管理器上存在,这种情况下它们称为远程队列。 

应用程序发送消息至队列,或从队列中接收消息。例如,一个应用程序可以将消息放入队列,而另一个应用程序可以从相同队列中取出消息。   

每个队列都有一些队列属性,它们确定了在应用程序引用队列时将执行的操作。属性表明: 

应用程序是否可以从队列中检索消息(允许取出)。 
应用程序是否可以将消息放入队列中(允许放入)。 
访问队列是由一个应用程序独占还是在应用程序间共享的。 
可同时在队列上存储的最大消息数(最大队列深度)。 
可放入队列的消息的最大大小(最大消息大小)。 

队列管理器
  
队列管理器为应用程序提供了排队服务,并管理属于它的队列。它确保: 

根据接收到的细节更改对象属性。 
当发生特殊情况时,产生特殊事件(例如设备事件或触发器事件)。 
按照应用程序的请求将消息放入正确队列。如果不能完成,则将通知应用程序并给出适当的原因码。 
        
每个队列都属于一个单一队列管理器,对于那个队列管理器来说它是本地队列。与应用程序连接的队列管理器被认为是该应用程序的本地队列管理器。对于该应用程序,属于本地管理器的队列是本地队列。 远程队列是属于另一个队列管理器的队列。远程队列管理器是非本地队列管理器的任何其它队列管理器。远程队列管理器可存在于网上的一个远程机器上,或者存在于与本地队列管理器相同的机器上。MQSeries 支持同一台机器上的多个队列管理器。

MQSeries 配置
  
最简单的配置是 MQSeries 安装在一台机器上并创建了一个队列管理器。该队列管理器允许定义队列。这样本地应用程序就可以使用这些队列交换消息。 

通过应用程序与另一个队列管理器管理的队列之间进行通信需要定义消息通道。不需要定义直接到目标队列管理器的通道,适当的做法通常是仅定义下一个转接点(即中间队列管理器)。对该队列管理器可用的消息通道将被用于传递消息至目标队列管理器(或至下一个转接点)。 

使用客户机/服务器结构可以创建更复杂的配置。MQSeries 产品可以作为与 MQSeries 客户机连接的 MQSeries 服务器使用。客户机和服务器不需要在相同平台上。MQSeries 支持广泛的各种客户机平台。MQSeries 产品通常会包含各种平台的客户机。附加的 MQSeries 客户机可从 MQSeries Web 站点获得。 

在客户机/服务器配置中,MQSeries 服务器为客户机以及所有本地应用程序提供消息传递和排队服务。客户机通过客户机的专用通道(也叫做客户机通道)连接到服务器。这是一个符合成本效益的部署方法,因为仅使用一个 MQSeries 服务器产品副本,服务器就可支持几百个客户机。但是无论何时运行客户机上的 MQSeries 应用程序,客户机通道都必须持续可用。这与某些消息通道不需要持续可用就可支持在服务器上运行的 MQSeries 应用程序相反。 

有关详细信息,请参阅通道。 

MQSeries 还支持群集概念以简化设置和操作。群集是一个命名的队列管理器集合,并且任何一个队列管理器都可以不属于群集、或属于一个或多个这样的群集。群集中的队列管理器可以存在于相同或不同机器上。   

如果没有已定义的队列管理器,由 MQSeries Windows NT 和 Windows 2000 版安装进程提供的缺省配置可以配置一个队列管理器加入到本地缺省群集中。队列管理器的名称是基于机器的 TCP/IP 域。 

使用群集有两个主要的好处: 

在一个群集中的成员之间进行通信是非常简单的,特别是因为交换消息所需的通道是根据需要自动定义和创建的。 
参与队列管理器中的一些或全部队列可被定义为群集队列,这样可以使得它们自动被群集中的所有其它队列管理器知晓并使用。 
有关详细信息,请参阅群集。 


通道
通道为队列管理器提供了通信路径。有两种类型的通道:消息通道和 MQI 通道。     

消息通道提供了在相同平台或不同平台上两个队列管理器之间的通信路径。消息通道是用于从一个队列管理器至另一个队列管理器发送消息,同时使得应用程序避免了基本网络协议的复杂性。消息通道只可单向发送消息。如果在两个队列管理器间需要双向通信,则需要两个消息通道。       

客户机通道(也称为 MQI 通道)将 MQSeries 客户机连接到服务器机器上的队列管理器,并且是双向的。 

如果要阅读有关通道的更多信息,以及 MQSeries 如何使用它们在网络中跨越各种系统进行通信,请参阅 MQSeries Intercommunication一书。 


客户机和服务器
      
MQSeries 支持 MQSeries 应用程序的客户机/服务器配置。 

MQSeries 客户机是 MQSeries 产品的一部分,它安装在机器上,接受来自应用程序的 MQSeries 调用并将它们传递给 MQSeries 服务器 机器。在那里它们由队列管理器处理。典型地,客户机和服务器驻留在不同机器上,但它们可以同处在一台机器上。 

MQSeries 服务器是为一个或多个客户机提供排队服务的队列管理器。所有 MQSeries 对象(例如队列)都仅存在于队列管理器机器上(即 MQSeries 服务器机器上)。服务器也可以支持本地 MQSeries 应用程序。 

MQSeries 服务器与普通的队列管理器之间的差别在于 MQSeries 服务器可支持 MQSeries 客户机,并且每个 MQSeries 客户机应用程序与 MQSeries 服务器之间都有一个专用的通信链路。 

有关客户机支持的更多信息,请参阅 MQSeries 客户机一书。 


群集
  
群集是一个命名的队列管理器集合。 

群集需要群集内的至少一个队列管理器被定义为资源库 (即存放共享群集信息的地方)。更典型的做法是,通常指定两个或更多个资源库以提供在系统出现故障时的持续可用性。MQSeries 确保资源库中的信息保持同步。 

当队列被定义为群集队列时,它可被认为是公用队列,可被群集中的其它队列管理器自由使用。这与非群集队列不同,非群集队列仅当它们的本地定义可用时,才可访问。因此,非群集队列具有专用队列的特性,仅可由那些已经配置为知道它们的队列管理器来访问。 

在相同群集中具有相同名称的公用队列被认为是等价的。如果消息被发送至该队列名称,MQSeries(缺省情况下)将使用一个负载均衡算法将它发送到其中的任何一个。如果您不希望发生这一情况,可以在地址中使用队列管理器和队列名称,这就迫使消息被发送到特定的队列管理器。或者,可使用另一种实现方法来替换负载均衡例程。这就是典型的 MQSeries 行为,其中有许多示例表明标准行为可以更改,方法是在为该目的设计的出口中实现用户代码。

MQSeries 能力
  
MQSeries 可用来创建许多不同类型的解决方案。其中一些采用了平台支持或网桥和网关能力,用一种集成方法连接至现存的系统,或允许新建应用程序从现存的系统中抽取信息,或与现存系统交换信息。其它一些解决方案支持商业应用程序服务器,在其上 MQSeries 应用程序的中央池可以跨网络管理发送的工作。可以支持工作流方案的复杂的信息路由选择。 “发布/订阅”或“发送即忘”是使用不同消息流的其它应用程序方案。可以使用 MQSeries 的能力和灵活性建立负载均衡和热备用系统,MQSeries 包括了许多支持这些不同方案的特定功能。 

请参阅 MQSeries 应用程序设计指南获得有关编写 MQSeries 应用程序的更多信息。 


事务性支持
  
应用程序可能需要将一组更新组合成一个工作单元。这些更新通常是逻辑相关的,并且都必须成功以保持数据完整性。如果在组中的一个更新成功而另一个失败,那么数据完整性可能会丢失。MQSeries 支持事务性的消息传递。 

工作单元成功完成后就提交。此时,所有在工作单元内所做的更新都将变成永久的并且是不可逆的。或者,如果工作单元失败了,所有更新都被逆序恢复。同步点协调是工作单元用来提交或逆序恢复完整性的进程?a href="http://www.xxlinux.com/">Linux联盟收集整理

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-1-3 3:32:04
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持