MQ服务器1到MQ服务器2之间应该如何消息传送呢?

Aligege108 2018-01-24 03:55:29
各位高手,请帮忙指教,我第一次接触MQ,小白一枚。

客户要求这样的一个方案:
A系统 MQserver1 MQserver2 B系统

这两个系统之间发送消息一定要求通过中间的两台安装了MQ的服务器进行转发。
那我目前的根据B系统所属的客户提供的一些资料来设计我方A系统和MQserver1的内容。
目前我是这样设计的:
A系统中的应用要发一条消息给B系统:
在MQserver1新建一个队列管理器:QM1
再建立远程队列REMQ1
建立本地队列LOCQ1
建立传输队列TranQ1
建立死信队列DeadQ1
建立传输通道MQ1.MQ2

那消息的流程是否是这样呢?
A系统 直接将消息放到远程队列REMQ1中;然后REMQ1将消息放到传输队列TranQ1中(这个具体怎么放呢?是MQ内部自带程序写好的么?);
再传输队列通过通道MQ1.MQ2的发送通道发送给MQserver2的本地队列呢?

然后如果是B系统给A系统发送消息就是MQserver2的远程队列通过传输队列、传输通道发送到MQserver1的本地队列中,然后A系统直接从本地队列中获取就可以了呢?


问题:
1、我上面的设计方案对吗?是否可以实现呢?
2、经过查看资料,还有一些别名队列,那些队列都一定要求有的吗?
3、一个队列管理器中应该有多少个传输队列呢?是否一个传输队列就够了呢?按道理应该是,因为它只是作为一个中转消息的作用而已。
...全文
838 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xierqi00qi 2018-11-07
  • 打赏
  • 举报
回复
我通俗的描述一下哈,java的
消息的传递过程:
消息在A系统(10.10.10.1)进行组装(xml、json等等),通过IBM提供的jar包中的对象比如(MQEnvironment、MQQueueManager)将消息按照MQserver1(10.10.10.2)配置的服务器连接通道commit到 MQserver1(10.10.10.2)的队列管理器的远程队列定义配置的传输队列中,此队列管理器的远程队列定义还配置有远程队列管理器和远程队列(另一台MQserver的,也就分别是MQserver2【10.10.10.3】的队列管理器和MQserver2的队列管理器的本地队列)。
若 MQserver1(10.10.10.2)和MQserver2【10.10.10.3】能ping通并且MQ服务都是启动的,消息会从MQserver1(10.10.10.2)的传输队列传递到MQserver2【10.10.10.3】的本地队列;否则消息在 MQserver1(10.10.10.2)的传输队列中积压。
消息到达MQserver2【10.10.10.3】的本地队列后,B系统(10.10.10.4)就可以通过IBM提供的jar包中的对象比如(MQEnvironment、MQQueueManager)将消息从MQserver2【10.10.10.3】的本地队列中取出(get),取一条本地队列就少一条。完了。

消息会从MQserver1(10.10.10.2)的传输队列传递到MQserver2【10.10.10.3】的本地队列需要在MQserver1(10.10.10.2)配置发送方通道,发送方通道中配置有传输队列。


Aligege108 2018-01-26
  • 打赏
  • 举报
回复
为啥没人关注呢?

2,633

社区成员

发帖
与我相关
我的任务
社区描述
WebSphere 是 IBM 的软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。
社区管理员
  • WebSphere社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧