队列管理器和消息代理之间的区别

22

什么是WebSphere消息代理(Message Broker)和队列管理器(Queue Manager)之间的区别?我猜想,队列管理器将消息放入队列中,从队列中取出消息,将消息移动到备用队列等。那么代理的工作是什么?

它是坐落在发布者和队列管理器之间还是消费者和队列管理器之间?


2
顺便提一下,它不是Websphere MQ代理,而是Websphere消息代理。 - user604243
5个回答

22

Websphere MQ是一种使用AMQ(异步消息协议)的软件。您可以通过Websphere MQ实现应用程序之间的异步消息传递,从而使基础架构松散耦合(即使基础架构中的其他应用程序停机,应用程序仍然可以继续工作)。

但是,基础架构中的应用程序可能无法理解彼此的消息格式,因此仅向目标应用程序发送消息可能是不够的。您可能需要转换消息

您可以编写使用Websphere MQ API的自己的程序来完成此操作。 您的程序应该能够完成以下事项:

  1. 从特定队列中获取消息(使用MQGET)
  2. 应该能够理解该消息。也就是说它是一个XML消息。然后您的程序必须能够解析XML并读取其中的数据。
  3. 读取输入消息后,您将根据要求制作输出消息。
  4. 然后,您将发布消息或将消息放入某些特定队列(例如TargetQ),以便目标应用程序可以收到消息。 目标应用程序将通过在TargetQ上发出MQGET或订阅从您的应用程序发布的主题来获取消息。

但是编写自己的程序将需要大量的开发时间和精力,而且可能有些复杂。

因此,IBM提供了其自己的软件来完成该工作,即"Websphere Message Broker"

WMB使您能够非常容易地创建程序,并且速度比较快。

WMB中的适当节点将为您执行所有上述步骤。 实际上,它提供的功能远远超过了上述步骤。

Websphere MQ仍然没有HTTP侦听器。 但是,消息代理有。 它允许您托管Web服务并具有基于HTTP的流程等,而且还支持SSL。


1
很好的描述!只有一个简短的注释:自版本9起,WMB现在被命名为IIB。 - brazo

3

MQ为您提供消息基础设施:队列和主题 - IBM MQ

IBM Integration Bus(以前称为WebSphere Message Broker)允许您应用常见的EAI模式,例如路由、转换

希望这能帮到您。

最好的问候, Patrick


0
我想补充两点:消息代理(现在称为IIB)包括一组优化和快速解析器(XML、CSV等)以及有用的映射节点(msg-msg、msg-db)。MQ也用于来自配置管理器的内部配置消息。

0
WebSphere MQ是一种应用程序间通信服务的解决方案,无论您的应用程序或数据位于何处。无论是在单个服务器上、相同类型的分离服务器上还是不同架构类型的分离服务器上,WebSphere MQ通过消息队列发送和接收消息数据来促进应用程序之间的通信。然后,应用程序使用这些消息中的信息与Web浏览器、业务逻辑和数据库进行交互。WebSphere MQ为移动数据提供了安全可靠的传输层,以消息的形式在应用程序之间传递数据,但它不知道消息的内容。WebSphere MQ使用一组小型和标准的应用程序编程接口(API),支持多种编程语言,包括Visual Basic、NATURAL、COBOL、Java和C,适用于所有平台。
WebSphere Message Broker是为扩展WebSphere MQ而构建的,它能够理解通过代理传递的每个消息的内容。客户可以根据消息的内容定义每个消息的操作集。WebSphere Message Broker提供的消息处理节点能够处理来自各种来源的消息,例如Java消息服务(JMS)提供程序、超文本传输协议(HTTP)调用或从文件读取的数据。通过将这些节点连接在一起,客户可以定义在消息从一个应用程序流向其目的地时的链接操作。
消息代理可以执行以下操作:
  • 匹配并路由服务之间的通信
  • 在不同传输协议之间转换
  • 在请求者和服务之间转换消息格式
  • 从不同来源标识和分发业务事件

WebSphere MQ 和 WebSphere Message Broker 共同提供了一个全面的发布和订阅功能,将 Message Broker 的广泛传输和格式支持与 WebSphere MQ 的消息骨干连接起来。WebSphere Message Broker 通过增强的 Publication 节点扩展了 WebSphere MQ 的发布和订阅功能,例如基于内容的发布和订阅。这两个产品共享一个公共的主题和基于内容的操作域。


-3

MQ主要用于将消息从一个系统转换到另一个系统。

WMB(WebSphere消息代理)将位于QMGR之间,并根据系统要求/业务逻辑实现更改消息格式的内容,以转换消息。

Srinu D


MQ 用于传输消息,而不是转换消息。 - nitgeek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接