IBM MQ - 队列 Manager/Channel 解决方案设计最佳实践

IBM MQ - Queue Manager/Channel solution design best practice

这个问题是关于设计基于 IBM MQ 的解决方案。

我有多个系统(例如 3 个)将远程与单个 IBM MQ 服务器通信, 即客户端系统 运行 在不同的机器上。

设计解决方案的最佳实践是什么,

什么是好的解决方案设计实践?任何指导都会非常有帮助。

提前致谢, 雅梭达

由于所有系统都在您的组织内,我会选择 1 个队列管理器。人们犯的最大错误是尝试在应用程序之间共享队列、通道、UserId 等。

首先要做的是设置通道身份验证 (CHLAUTH) 规则并启用连接身份验证 (CONNAUTH),以便您拥有适当的 MQ 安全性。由于所有系统都是内部系统,您可能希望也可能不希望在通道上使用 TLS/SSL 以在客户端和队列管理器之间进行数据加密。

不要从 30,000 英尺看一切,而是要将一切分解为单个应用程序或微应用程序。为每个应用程序分配自己的队列、通道和 UserId。绝对肯定,不要在应用程序之间共享频道或 UserId。

为您的队列和通道创建一个命名标准,以便轻松识别它们属于谁。我喜欢用 division/department/group/function/component 命名事物。因此,它形成了一个很好的树,包含您定义的内容和应用程序正在使用的内容。

注意:我不太喜欢将队列管理器名称或主机名或 MQ 对象名称(即 QUEUE 或 CHANNEL)放在通道或队列的名称中。

即频道名称:

HR.PAYROLL
HR.RECRUITMENT
HR.TRAINING

即队列名称:

HR.PAYROLL.TAXES.FEDERAL
HR.PAYROLL.TAXES.STATE
HR.PAYROLL.TAXES.SOCIAL.SECURITY