消息中间件IBM WebSphere MQ入门说明
1) 队列管理器
队列管理器是MQ系统中最上层的一个概念,由它为我们提供基于队列的消息服务。
2) 消息
在MQ中,我们把应用程序交由MQ传输的数据定义为消息,我们可以定义消息的内容并对消息进行广义的理解,比如:用户的各种类型的数据文件,某个应用向其它应用发出的处理请求等都可以作为消息。消息有两部分组成:
消息描述符(Message Discription或Message Header),描述消息的特征,如:消息的优先级、生命周期、消息Id等;
消息体(Message Body),即用户数据部分。在MQ中,消息分为两种类型,非永久性(non-persistent)消息和永久性(persistent)消息,非永久性消息是存储在内存中的,它是为了提高性能而设计的,当系统掉电或MQ队列管理器重新启动时,将不可恢复。当用户对消息的可靠性要求不高,而侧重系统的性能表现时,可以采用该种类型的消息,如:当发布股票信息时,由于股票信息是不断更新的,我们可能每若干秒就会发布一次,新的消息会不断覆盖旧的消息。永久性消息是存储在硬盘上,并且纪录数据日志的,它具有高可靠性,在网络和系统发生故障等情况下都能确保消息不丢、不重。
此外,在MQ中,还有逻辑消息和物理消息的概念。利用逻辑消息和物理消息,我们可以将大消息进行分段处理,也可以将若干个本身完整的消息在应用逻辑上归为一组进行处理。
3) 队列
队列是消息的安全存放地,队列存储消息直到它被应用程序处理。
消息队列以下述方式工作:
a) 程序A形成对消息队列系统的调用,此调用告知消息队列系统,消息准备好了投向程序B;
b) 消息队列系统发送此消息到程序B驻留处的系统,并将它放到程序B的队列中;
c) 适当时间后,程序B从它的队列中读此消息,并处理此信息。
由于采用了先进的程序设计思想以及内部工作机制,MQ能够在各种网络条件下保证消息的可靠传递,可以克服网络线路质量差或不稳定的现状,在传输过程中,如果通信线路出现故障或远端的主机发生故障,本地的应用程序都不会受到影响,可以继续发送数据,而无需等待网络故障恢复或远端主机正常后再重新运行。
在MQ中,队列分为很多种类型,其中包括:本地队列、远程队列、模板队列、动态队列、别名队列等。
本地队列又分为普通本地队列和传输队列,普通本地队列是应用程序通过API对其进行读写操作的队列;传输队列可以理解为存储-转发队列,比如:我们将某个消息交给MQ系统发送到远程主机,而此时网络发生故障,MQ将把消息放在传输队列中暂存,当网络恢复时,再发往远端目的地。
远程队列是目的队列在本地的定义,它类似一个地址指针,指向远程主机上的某个目的队列,它仅仅是个定义,不真正占用磁盘存储空间。
模板队列和动态队列是MQ的一个特色,它的一个典型用途是用作系统的可扩展性考虑。我们可以创建一个模板队列,当今后需要新增队列时,每打开一个模板队列, MQ便会自动生成一个动态队列,我们还可以指定该动态队列为临时队列或者是永久队列,若为临时队列我们可以在关闭它的同时将它删除,相反,若为永久队列,我们可以将它永久保留,为我所用。
4) 通道
通道是MQ系统中队列管理器之间传递消息的管道,它是建立在物理的网络连接之上的一个逻辑概念,也是MQ产品的精华。
在MQ 中,主要有三大类通道类型,即消息通道,MQI通道和Cluster通道。消息通道是用于在MQ的服务器和服务器之间传输消息的,需要强调指出的是,该通道是单向的,它又有发送(sender), 接收(receive), 请求者(requestor), 服务者(server)等不同类型,供用户在不同情况下使用。MQI通道是MQ Client和MQ Server之间通讯和传输消息用的,与消息通道不同,它的传输是双向的。群集(Cluster)通道是位于同一个MQ 群集内部的队列管理器之间通讯使用的。
您可能感兴趣的文章
- SOA中间件:前景光明却又充满了荆棘
一定要选择SOA的中间件? 中间件是什么?可以说中间件是一类软件产品,又可以进一步把它划分为应用服务器、消息中间件、交易中间件、门户服务器和工作流系统等多个类别,不同的中间件解决不同的问题。SOA是什么?SOA是一种软件系统提供功能的架构式样。组成这样的一个架构,需要有服务的请求者、服务的提供者、以及服务的描述者,其中,服务的请求者、提供者要遵循相同的规范和标准,才能实现基于互联网的
巴力立 · 2010-11-18 23:08 - 以中间件为技术平台 SOA易被企业接受
随着用户对大型网络应用高效运行、灵活应变、无缝集成需求的不断提高,中间件已经从上世纪80年代兴起的第一代“CORBA中间件”,90年代兴起的第二代“J2EE中间件”发展到了今天的第三代“SOA中间件”。事实上,早在十几年前,Gartner就首度提出了SOA(面向服务的企业架构)的概念,SOA将软件视为由“配置化服务”组成的新系统,着重强调软件的松散耦合、并使用独立的标准接口,让企业应用系统
巴力立 · 2010-01-26 17:16 - 信息化破蚕:中间件全面预算走向融合
这是一个共赢的时代,软件产业迎来了前所未有的融合。中间件、全面预算两种平台式管理软件,从应用的层面,开始逐渐地合并到了一起。在企业信息化的前台后院,双方各自发挥着不可替代的作用。谁也无法想象,未来的企业管理会呈现怎样的竞争格局?以大吃小,以强吃弱的故事将不会重演,历史会告诉每个人,只有不断创新的产品,才具有永恒的生命力,软件行业更是如此。当ERP、CRM、SCM等软件应用得到推广和普及时,
巴力立 · 2010-01-24 17:47 - 中间件为技术平台的SOA易被企业接受
随着用户对大型网络应用高效运行、灵活应变、无缝集成需求的不断提高,中间件已经从上世纪80年代兴起的第一代“CORBA中间件”,90年代兴起的第二代“J2EE中间件”发展到了今天的第三代“SOA中间件”。事实上,早在十几年前,Gartner就首度提出了SOA(面向服务的企业架构)的概念,SOA将软件视为由“配置化服务”组成的新系统,着重强调软件的松散耦合、并使用独立的标准接口,让企业应用系统
巴力立 · 2010-01-03 17:46 - 中间件技术发展趋势:应用系统实用化
中间件技术已经成为应用系统的支撑。相对于操作系统与数据库而言,中间件与应用系统的关系更为密切,因此,应用系统的发展与中间件技术的发展互为因果。应用系统的需求就是中间件技术发展的风向标。 从2003年应用发展的情况看,许多传统的领域如金融、电信等大型企业的核心业务系统的建设已基本完成,基本数据源已经形成,并继续向互联网领域过渡。新的业务系统如决策系统、增值业务系统等将逐步展开。而
巴力立 · 2009-11-26 16:03 - 广州工商IBM websphere解决方案案例
方案概述 充分利用和整合现有的软硬件资源,基于IBM WebSphere应用服务器,建设一个统一的应用支撑平台(基于J2EE规范实现),提供一个高性能、可用、可靠、可扩展和可管理的业务系统平台。 面临的问题 广州市工商局大规模的电子政务建设已
巴力立 · 2009-07-09 06:03 - 怎样部署基于IBM WebSphere J2EE应用
J2EE应用的部署对于部署人员而言是一件很有意义的事情。现有的应用服务器一般都支持基于Web,或热部署,或通过部署工具的方式来完成应用的部署。WebSphere Application Server 5.x提供了应用编程接口实现J2EE应用的部署和管理。 一、WebSphere部署概述 &n
巴力立 · 2009-07-09 05:39 - 对IBM Websphere进行有效的性能优化
从前年起客户的所有web容器都换成了websphere,版本是5.1。最初也不懂得性能优化,只是用ANT给Project打个war的包,通过WS的管理控制台发布上去就行了。但是客户在实际使用时,有时会出现响应慢,最后连WS都hang起。用kill -java进程号产生的javacore及heapdump文件来看,有oralce数据库的问题、也有java 程序自
巴力立 · 2009-07-09 04:50 - IBM WebSphere服务器安装配置全攻略
IBM WebSphere Application Server提供了从电子商务的构建、发布到管理的能力。其标准版提供了开放、标准的平台。WebSphere Application Server包括Servlet运行引擎、高性能的数据库连接程序,提供预连接、会话和状态管理的应用服务,WebSphere还支持XML文档结构。另外,WebSphere还支持JSP的1.0版本,Servlet的2
巴力立 · 2009-07-09 04:34 - 从数据库调用IBM WebSphere 业务流程
大型企业的大多数业务事务都保留在数据库中。在本文中,最资深的 IBM WebSphere 顾问之一展示了如何使用 WebSphere Integration Developer、WebSphere Process Server、DB2 和 WebSphere Adapter for JDBC,从而利用数据库事件来调用业务流程。 引言 &nbs
巴力立 · 2009-07-09 04:02
关注我们
