ibm-mq - IBM MQ 消息复制到新队列
问题描述
我需要在特定时间段内将消息从一个队列实时复制到另一个队列。我们该如何配置呢?使用 IBM MQ 可以进行手动切换。用例就像..我的主队列连接到主应用程序。当主要应用程序出现故障时,我需要使用辅助队列通过辅助应用程序处理数据。一旦主应用程序启动,它就会从主队列中挑选数据并重新处理它。
所以这里 MQ 交换机应该在停机时将数据从主队列复制/复制到辅助队列。以便辅助应用程序可以进行处理。
我浏览了文档并了解可以进行复制,但不确定如何在特定时期内使用手动开关(ON / OFF)。
感谢你的帮助。
解决方案
您要求的是 MQ 了解您的应用程序基础架构。那是不可能的。
解决方案#1:
为什么不将所有消息复制/复制到辅助队列,然后让辅助应用程序仅在主队列的 IPPROCS 为零时处理消息。一旦主队列的 IPPROCS 不为零,则丢弃辅助队列中的消息。
解决方案#2:
创建第三个应用程序来监控主队列的 IPPROCS。当它为零时,开始将消息复制到辅助队列。注意:当第三个应用程序打开主队列时,IPPROCS 将为 1。因此,当主队列的 IPPROCS 为 2(或更大)时,停止复制消息并关闭主队列。
解决方案#3:
将涉及第 3 方解决方案。您可以使用MQ 消息复制(MQMR) 将主队列中的消息复制/复制到辅助队列。根据需要配置 MQMR,但将其设置为非活动状态。当主应用程序关闭/离线时,立即将 MQMR 更改为活动状态。当主应用程序启动并再次运行时,将 MQMR 切换回非活动状态。
解决方案4:
该解决方案是解决方案#1 和#3 的组合。使用MQMR 将主队列中的所有消息复制/复制到辅助队列。如果主队列的 IPPROCS 为零,则让您的辅助应用程序仅处理消息。一旦主队列的 IPPROCS 不为零,则丢弃辅助队列中的消息。
推荐阅读
- visual-studio - Reporting Services tablix 不允许我冻结列标题和行
- spring - 由于 Spring 5 中的 Access / CORS 问题,无法访问我的后端的 URL
- python - 通过根据 MultiIndex 级别更改的值过滤列
- c# - C#/Unity:Visual Studio 参数未通过
- c++ - Avro C++:如何压缩内容?
- firebase - 在 onResume() 方法中。当我输入“mFirebaseAuth.addAuthStateListener(mAuthStateListener);”时,不幸的是在安装时停止了
- google-sheets - Google表格-如何将第1列中的每个项目与第2列中的每个项目连接起来
- c# - 保持外部编辑的数据完整性
- python - 当 managed=False 时如何运行 django 测试
- vb.net - 在列表框问题中将变量格式化为货币