Ibm mq 使用Websphere MQ客户端构建持久的体系结构

Ibm mq 使用Websphere MQ客户端构建持久的体系结构,ibm-mq,Ibm Mq,如果客户机不允许您持久化消息,也不允许可靠的传递,那么如何使用MQ客户机和服务器创建持久的体系结构环境 只是想弄清楚,如果客户机似乎不包含持久化数据所需的任何必要组件,那么如何构建一个可销售/持久的体系结构 谢谢 中间件消息传递源于本地持久化数据的需要,以减轻远程节点或网络故障的影响。当时的想法是,队列管理器本地安装在应用程序所在的盒子上,并被视为传输堆栈的一部分。例如,您可以将TCP和WMQ安装为传输,一些应用程序将使用TCP,而其他应用程序则使用WMQ 在其间的20年中,导致创建MQSeri

如果客户机不允许您持久化消息,也不允许可靠的传递,那么如何使用MQ客户机和服务器创建持久的体系结构环境

只是想弄清楚,如果客户机似乎不包含持久化数据所需的任何必要组件,那么如何构建一个可销售/持久的体系结构

谢谢


中间件消息传递源于本地持久化数据的需要,以减轻远程节点或网络故障的影响。当时的想法是,队列管理器本地安装在应用程序所在的盒子上,并被视为传输堆栈的一部分。例如,您可以将TCP和WMQ安装为传输,一些应用程序将使用TCP,而其他应用程序则使用WMQ

在其间的20年中,导致创建MQSeries(现在的WebSphere MQ)的原始问题基本上得到了解决。网络的可用性提高了九分之几,高可用性硬件和软件群集提供了使不同组件全天候可用的选项


因此,今天广泛使用的解决问题的实践遵循两种基本方法。使组件高度可用,以便客户端始终可以找到消息传递服务器,或者将QMgr放置在应用程序所在的位置,以便提供本地排队。

MQ的默认操作是在发送消息时(MQPUT或JMS术语producer.send),在消息到达队列管理器上的队列之前,应用程序不会获得MQPUT调用的响应。i、 e.MQPUT是一个同步调用,如果您得到的完成代码为OK,则表示客户端应用程序所连接的队列管理器已成功接收到消息。它可能尚未到达最终目的地,但已达到MQ服务器的保护,因此您可以依靠MQ来管理消息并将其转发到需要到达的位置

无论客户端连接到队列管理器,还是本地绑定到队列管理器,发送消息的应用程序都负责其数据,直到MQPUT调用成功返回。类似地,一旦接收应用程序从成功的MQGET(或JMS consumer.receive)调用中获取数据,它们将负责其数据

有多个级别的消息保护可用。 如果您使用的是非持久性消息和异步put,那么您实际上是在说消息是否到达目的地并不重要(尽管它们通常会到达目的地)。 如果您希望MQ真正管理您的消息,请使用如上所述的同步put、持久消息,并在事务中执行put和get(也称为syncpoint),这样您就可以完全控制提交点

如果您拥有非常不可靠的网络,因此您希望定期无法将消息获取到服务器,并且希望定期重试,因此您需要客户端消息保护,那么您可以研究的一个选项是MQ遥测(例如,在WebSphere MQ V7.1中)设计用于低带宽和/或不可靠的网络通信,作为进入更宽MQ的路由