IBM MQ 概述

合集下载

MB学习资料

MB学习资料

MB与MQ简介今天听IBM的工程师介绍了MQ和MB的特性,以及他们的区别与联系,觉得很通俗易懂,特此记录,方便将来的初学者可以更快的把握这两者的特点。

首先从概念上来说,MQ是消息中间件,MB是ESB产品MQ负责在两个系统之间传递消息,这两个系统可以是异构的,处于不同硬件、不同操作系统、用不同语言编写,只需要简单的调用几个MQ的API,就可以互相通讯,你不必考虑底层系统和网络的复杂性。

MQ 作为IBM的一个拳头产品,虽然功能看上去很简单,就是个消息队列,但他却是IBM中间件的核心,也是相比其他厂商(比如BEA)的一个优势。

MQ不仅有很高的性能,而且对各种平台的支持非常好,几乎你能想到的硬件和操作系统平台以及编程语言,MQ都有专门的API支持。

但MQ的功能仅限于消息队列,至于应用A发给应用B的消息格式是怎样的、能不能被应用B解析,MQ 管不了,他只是尽力将消息发到目的地(MQ能够应付多种异常情况,例如网络阻塞、临时中断等等)。

此外,如果应用的数目多了,那互相之间都要建立MQ连接,网络拓扑就成了蜘蛛网了(就好像是最初的电话系统)因此,我们将网络的星型拓扑引入系统架构中,把一对一的MQ换成一个中心节点,即ESB,MB即是IBM 的ESB产品。

MB处于系统的中心,起到一个总线的作用,所有应用都直接连接到MB,而不是应用之间直接互联,这样的好处不言而喻,可以极大的降低应用之间的耦合性。

由此引出MB的两大核心功能:消息路由和数据转换因为各个应用都插入到MB上,所以应用A只管把消息丢给MB,MB自动根据消息字段、以及业务逻辑,判断要把消息交给谁,这就像路由器一样,根据数据包的头把包路由到相应地址。

MB内部的业务逻辑由开发人员设定,当然利用MB的Toolkit,编写业务逻辑也非常简单:拖一些节点,用箭头把它们连起来,就像是画流程图一样,非常形象简单。

再用MB的脚本语言(类似sql的脚本)实现逻辑判断,通俗地说就是判断要走哪个逻辑分支(if...else.....)。

IBM WMQ 产品介绍

IBM WMQ 产品介绍

IBM WebSphere MQ产品介绍© 版权所有 IBM Corp. 2004,2005。

保留所有权利。

1. 慨览什么是 Websphere MQWebSphere® MQ消息传递产品帮助业务应用在不同平台上交换信息并收发作为消息的数据,从而实现应用集成。

它们保护网络接口,确保‘一次性’的传递消息、处理通信协议、跨越可用资源分配工作负载、进行系统故障恢复、帮助实现程序的可移动性。

因此,编程人员可利用其技能来满足关键业务要求,而不是致力于基本的网络复杂性。

MQ的功能Websphere MQ∙能够通过点到点的数据活动可视性来实现业务数据的广泛共享并管理复杂性,从而利用传统应用的现有投资。

∙降低更改现有应用的需求,同时使用最新的消息传递和标准和数据格式将这些应用连接在一起,从而构建业务灵活性以快速响应动态环境。

∙可实现实时协作并减少信息使用错误,从而扩展现有应用的覆盖范围。

∙创建强韧的IT基础设施,支持面向服务的架构(SOA),从而为企业演变成随需应变企业提供所需的灵活性。

∙通过业界标准来合并并简化业务应用流程,从而降低集成基础设施的维护成本。

∙支持从桌面系统到主机的异构的任意到任意连接(支持35个以上的平台)。

∙全面的API,设计用于简化任何消息传递任务的编码。

∙允许企业集成单独的自主孤岛。

∙不受时间影响的通信。

∙有保证的一次性交付。

∙WebSphere MQ支持高吞吐量,客户日传输信息超过2.50亿条。

∙可连接当前企业中的任何商用系统。

∙不受网络中断的影响- 始终能够提供重要数据。

∙成为电子商务企业需要较短的时间、较少的技能和资源。

MQ 的技术特性:消息队列为构造以同步或异步方式实现的分布式应用提供了松耦合方法。

消息队列的API调用被嵌入到新的或现存的应用中,通过消息发送到内存或基于磁盘的队列或从它读出而提供信息交换。

消息队列可用在应用中以执行多种功能,比如要求服务、交换信息或异步处理等。

ibm mq原理

ibm mq原理

ibm mq原理
IBM MQ是一种消息传递中间件,用于在分布式系统中传递消息。

它提供可靠的、高性能的消息传递机制,确保消息能够按照指定的顺序和时效性被发送和接收。

IBM MQ的工作原理基于消息队列的概念。

在这个概念中,消息发送者将消息发送到一个中央队列中,然后消息接收者从队列中获取消息进行处理。

这种解耦的方式使得发送者和接收者能够独立地进行开发和维护,提高了系统的可扩展性和灵活性。

IBM MQ通过使用消息队列管理器(MQM)来实现消息的存
储和处理。

MQM负责接收发送者的消息,并将其保存到队列中。

接收者会连接到MQM,从队列中获取消息并进行处理。

这种模式确保了消息不会丢失,并且发送者和接收者之间不需要直接通信。

除了消息队列,IBM MQ还提供了一些其他的特性,如消息的持久化和事务支持。

持久化意味着即使在消息发送或接收过程中发生故障,消息也不会丢失。

事务支持则可以确保消息的一致性和完整性,即发送者要么完全发送消息,要么不发送。

在实际的应用中,IBM MQ可以用于各种不同的场景,如企业应用集成、分布式系统之间的通信、异步消息处理等。

它具有高可用性、可靠性和性能优势,被广泛应用于金融、制造、电信等行业。

总之,IBM MQ通过使用消息队列和消息队列管理器,实现了
可靠的、高性能的消息传递机制。

它的工作原理简单而有效,可以满足各种不同场景下的需求。

IBM MQ

IBM MQ

MQ中有几个很重要的组件:队列管理器(QueueManager)、队列(Queue)和通道(Channel)。

其基本的操作方法如下:创建队列管理器crtmqm –q QMgrName-q是指创建缺省的队列管理器删除队列管理器dltmqm QmgrName启动队列管理器strmqm QmgrName如果是启动默认的队列管理器,可以不带其名字停止队列管理器endmqm QmgrName 受控停止endmqm –i QmgrName 立即停止endmqm –p QmgrName 强制停止显示队列管理器dspmq –m QmgrName运行MQSeries命令runmqsc QmgrName如果是默认队列管理器,可以不带其名字往队列中放消息amqsput QName QmgrName如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字从队列中取出消息amqsget QName QmgrName如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字启动通道runmqchl –c ChlName –m QmgrName启动侦听runmqlsr –t TYPE –p PORT –m QMgrName停止侦听endmqlsr -m QmgrNameMQSeries命令定义死信队列DEFINE QLOCAL(QNAME) DEFPSIST(YES) REPLACE设定队列管理器的死信队列ALTER QMGR DEADQ(QNAME)定义本地队列DEFINE QL(QNAME) REPLACE定义别名队列DEFINE QALIAS(QALIASNAME) TARGQ(QNAME)远程队列定义DEFINE QREMOTE(QRNAME) +RNAME(AAA) RQMNAME(QMGRNAME) +XMITQ(QTNAME)定义模型队列DEFINE QMODEL(QNAME) DEFTYPE(TEMPDYN)定义本地传输队列DEFINE QLOCAL(QTNAME) USAGE(XMITQ) DEFPSIST(YES) +INITQ(SYSTEM.CHANNEL.INITQ)+PROCESS(PROCESSNAME) REPLACE创建进程定义DEFINE PROCESS(PRONAME) +DESCR(‘STRING’)+APPLTYPE(WINDOWSNT)+APPLICID(’ runmqchl -c SDR_TEST -m QM_ TEST’)其中APPLTYPE的值可以是:CICS、UNIX、WINDOWS、WINDOWSNT等创建发送方通道DEFINE CHANNEL(SDRNAME) CHLTYPE(SDR)+CONNAME(‘100.100.100.215(1418)’) XMITQ(QTNAME) REPLACE其中CHLTYPE可以是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR 和CLUSRCVR。

IBMMQ消息头详细介绍

IBMMQ消息头详细介绍

IBMMQ消息头详细介绍细看 MQ 消息头(MQMD)的功能 MQMD 是每个消息都带有的消息头信息,它由若⼲字段组成,这些字段都是 MQ 设计⼈员根据总结的应⽤需求⽽设置的。

应⽤程序构建消息时应该对这些字段填⼊恰当的值,对于没有填⼊的字段,MQ会⽤默认值填充。

开发应⽤程序时,充分理解并利⽤这些字段是⼗分必要的,这⾥逐⼀为⼤家进⾏介绍,并针对每个字段指明它在实际编程中⼀般会⽤来实现什么样的功能: StrucId:消息头结构名,固定为"MQMD"四个字符。

根据这个字段,我们就能够在应⽤程序数据包中识别出MQMD的位置。

Version :MQMD 版本号。

Report:消息的报告选项,默认值为 MQRO_NONE。

发送⽅程序通过设置此字段值以指定在消息传递出现意外、消息超时、消息到达、消息递出事件时是否需要报告消息和报告消息要包含什么内容。

对于需要消息报告的程序,需要对这个字段与下⾯介绍的 ReplyToQ 和ReplyToQMgr 字段⼀起进⾏设置,以对这些消息事件作出反应。

Expiry:超时字段,单位是 0.1 秒,默认值是 MQEI_UNLIMITED,表⽰永不过期。

消息放到⽬标队列⾥以后,如果超过这个指定时间还没有被程序读⾛,MQ 系统就会丢弃这个消息。

如果这个消息设置了 Report 字段要求超时报告,系统会按照Report字段指定的⽅式返回⼀个超时报告。

应⽤中通常要进⾏必要的消息超时机制设计,⽐如实现SOA框架下为保持交易⼀致性⽽⼴泛使⽤的 Compensation 机制,就可以⽤超时处理实现。

Feedback:反馈字段,此字段与 Report 字段⼀起使⽤以指⽰报告的性质。

Encoding:消息中数值数据(binary integer、packed-decimal integers、floating-point numbers等)的编码⽅式,默认值是MQENC_NATIVE,因平台⽽异,此值不适⽤于 MQMD 结构本⾝的数字数据。

ibm mq 术语

ibm mq 术语

ibm mq 术语IBM MQ, or Message Queuing, is a middleware technology that enables the secure and reliable exchange of messages between applications and systems, regardless of their platforms or locations. It ensures the integrity and delivery of messages even in the face of network failures or system downtimes.IBM MQ的核心组件之一是队列(Queue),它充当消息的暂存区,允许发送方和接收方在不同的时间点和速率上操作。

发送方将消息放入队列中,而接收方则从队列中获取消息。

这种方式实现了应用程序之间的解耦,使得它们可以异步通信,从而提高系统的可扩展性和可靠性。

Another key term in IBM MQ is the queue manager, which manages the queues and handles the routing of messages. It ensures that messages are delivered to the correct destination and maintains the integrity of the message data. Queue managers can be configured to communicate with each other, enabling distributed systems to exchange messages securely and efficiently.在IBM MQ中,消息(Message)是信息的基本单位。

IBMMQSeries通信中间件技术及应用简介

IBMMQSeries通信中间件技术及应用简介

IBMMQSeries通信中间件技术及应用简介摘要:IBMMQSeries通信中间件概念和技术介绍,并结合实际应用场景简要说明。

关键词:MQ;中间件;队列YANGChao(GuangdongPostalInformationTechnologyBureauDevelopmentDepar tmentofGuangdong,Guangzhou510898,China)Keywords:MQ;middleware;queueIBMMQSeries是IBM的商业通讯中间键。

IBMMQSeries提供一个具有工业标准、安全、可靠的信息传输系统。

它以消息为载体,以队列为媒介进行本地、远程以及跨平台的信息传递。

随着计算机网络技术的发展和分布式计算机系统的应用,信息系统间的数据交换已经成为不可或缺的组成部分,商业中间键在此基础上应运而生,它既可以保证消息传输的可靠性、高效率和安全性,同时可以替代系统通信模块,进而大幅度减少系统的开发周期,使设计人员将精力更多的放到业务逻辑和数据逻辑的设计上。

该文就MQSeries的工作原理和在广东省的业务应用做一个简单的介绍。

1IBMMQSeries工作原理MQSeries为程序提供了一种安全可靠的通信模式,支持本地应用和分布应用,本地应用可以提供一台物理主机上的不同应用程序之间相互通信;分布应用可以提供联网的主机上不同应用程序之间相互通信。

MQSeries为应用程序提供了一种可靠的通信机制,不管是本地应用还是分布应用,参与通信的应用程序之间无需关注网络通信模块的实现,发送方将数据组装成消息,放入消息队列,接收方从消息队列中获取消息,从而完成一次通信过程。

队列管理器负责MQSeries内部对象的管理、通信链路的维护以及消息传递的可靠性和完整性。

MQSeries的消息传递模式见图1:程序A要和程序B需要交换数据,程序A把数据封装成一个消息并放入队列1中,程序B从队列1中以先进先出的顺序取出消息,处理完成后将应答消息放入队列2中,程序A同样以先进先出的顺序从队列2中取出应答消息,从而完成了一次数据交换。

常用mq介绍范文

常用mq介绍范文

常用mq介绍范文MQ(Message Queue)是一种常用的消息传递模型,它可以在应用程序之间传递消息,并且能够实现解耦和异步处理的目的。

在大规模分布式系统中,MQ起到了至关重要的作用,因此本文将主要介绍常用的MQ,以及它们的特点和使用场景。

1. RabbitMQRabbitMQ是一个开源的AMQP(Advanced Message Queuing Protocol)消息中间件,它完全支持消息队列,提供了丰富的特性和多种语言的SDK (软件开发工具包)。

RabbitMQ使用基于生产者-消费者模型的消息队列来传递消息,支持多种消息模式(如点对点、发布/订阅等),以及持久化、消息确认和消息优先级等特性。

它适用于复杂的系统架构和高吞吐量的场景。

2. Apache KafkaApache Kafka是一个高吞吐量的分布式发布/订阅消息系统,它具备持久化存储和高可靠性的特点。

Kafka的消息是以topic为单位进行发布和订阅的,生产者将消息发布到指定的topic,消费者则从指定的topic消费消息。

消息被写入磁盘后可以长期保存,从而支持历史消息的回溯和重播,这使得Kafka适用于大数据流处理和实时数据流分析等场景。

3. ActiveMQActiveMQ是一个开源的、跨平台的消息中间件,它实现了JMS(Java Message Service)规范。

ActiveMQ提供了多种消息模式(如点对点、发布/订阅、持久化订阅等)和多种传输协议(如TCP、UDP、HTTP等),同时支持事务和消息确认等特性。

它适用于Java开发的中小规模应用系统,因为它易于使用、功能强大且性能可靠。

4. RocketMQRocketMQ是由阿里巴巴开发的分布式消息队列系统,具备高可用、高可靠和高可扩展性的特点。

RocketMQ支持丰富的消息模式,如点对点、发布/订阅和顺序消息等,并且支持大规模消息堆积、消息事务以及消息“回溯”等特性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IBM MQ 介绍
消息队列(MQ)是一种应用程序对应用程序的通信方法。

应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。

消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。

排队指的是应用程序通过队列来通信。

队列的使用除去了接收和发送应用程序同时执行的要求。

IBM WebSphere MQ 产品支持应用程序通过不同组件如处理器、子系统、操作系统以及通信协议的网络彼此进行通信。

例如,IBM WebSphere MQ 支持35 种以上的不同操作系统。

IBM WebSphere MQ 支持两种不同的应用程序编程接口:Java 消息服务(JMS)和消息队列接口(MQI)。

在IBM WebSphere MQ 服务器上,JMS 绑定方式被映射到MQI。

如图 3 所示,应用程序直接与其本地队列管理器通过使用MQI 进行对话,MQI 是一组要求队列管理器提供服务的调用。

MQI 的引人之处是它只提供13 次调用。

这意味着对于应用程序编程员它是一种非常易于使用的接口,因为大部分艰苦工作都将透明完成的。

图形 2. IBM WebSphere MQ 编程
图2 显示了IBM WebSphere MQ 编程的原理。

第一步是让应用程序与队列管理器连接。

它通过MQConnect 调用来进行此连接。

下一步使用MQOpen 调用为输出打开一个队列。

然后应用程序使用MQPut 调用将其数据放到队列上。

要接收数据,应用程序调用MQOpen 调用打开输入队列。

应用程序使用MQGet 调用从队列上接收数据。

图中还显示了消息通道代理(MCA)、通道出口和对象权限管理器(OAM)。

MCA 是IBM WebSphere MQ 程序,它使用现有传输服务诸如TCP/IP 与SNA 将消息从本地传输队列移到目标队列管理器。

这些传输服务即通道。

通道出口是用户写入库,可以在通道运作期间,从已定义位置号之一进入这些库。

OAM 是命令和对象管理的缺省授权服务(针对操作系统)。

这三个组件对IBM WebSphere MQ 的现有安全性解决方案非常重要。

相关文档
最新文档