IBM MQ - 队列 Manager/Channel 解决方案设计最佳实践
IBM MQ - Queue Manager/Channel solution design best practice
这个问题是关于设计基于 IBM MQ 的解决方案。
我有多个系统(例如 3 个)将远程与单个 IBM MQ 服务器通信,
即客户端系统 运行 在不同的机器上。
设计解决方案的最佳实践是什么,
- 在 3 个不同的端口上有 3 个队列管理器 运行,每个端口有 3 个专用通道
系统
- 拥有一个具有 3 个不同通道的队列管理器,专用于每个系统。
什么是好的解决方案设计实践?任何指导都会非常有帮助。
提前致谢,
雅梭达
由于所有系统都在您的组织内,我会选择 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
这个问题是关于设计基于 IBM MQ 的解决方案。
我有多个系统(例如 3 个)将远程与单个 IBM MQ 服务器通信, 即客户端系统 运行 在不同的机器上。
设计解决方案的最佳实践是什么,
- 在 3 个不同的端口上有 3 个队列管理器 运行,每个端口有 3 个专用通道 系统
- 拥有一个具有 3 个不同通道的队列管理器,专用于每个系统。
什么是好的解决方案设计实践?任何指导都会非常有帮助。
提前致谢, 雅梭达
由于所有系统都在您的组织内,我会选择 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