扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
15. 对消息转换的设置。
当我们不需要进行格式转换时,使用在MQMD中将消息格式Format字段设置为MQFMT_NONE的方法来表示,MQFMT_NONE表示忽视任何格式转换。
17. 在设定消息的优先级时,不要直接在消息描述符中设置,最好设置队列的优先级,然后使用"defined as queue"来设置消息的优先级。
优先级是消息的属性之一,当应用发生变化时,我们可能需要改变消息的优先级,如果我们将其写死在程序中,就会影响程序的灵活性。如果借助于队列的优先级来设置消息的优先级,系统管理员可以根据需要,通过改变队列的DEFPRTY的属性来更改其优先级,而无需改变应用程序代码,这样可以大大提高系统管理和网络管理的灵活性。
18. 请求型应用在打开请求队列时,最好不要使用MQOO_OUTPUT选项。
19. 与数据库交互时,MQPUT 和 MQGET必须使用同步点控制,即使用MQ的两阶段提交功能,来保证数据的一致性和完整性。
20. 与数据库操作相关的队列消息的属性最好设为永久性消息,即消息的persistence属性应设为yes,并且永不过期。
由于与数据库操作相关的消息的重要性很强,它必须被设置为永久性消息,被MQ系统记录日志,从而在队列管理器重新启动或机器重启时不会丢失。另外,在 "Send and Forget"通讯模式之下,由于这是典型的异步通讯模式,消息何时被处理是不确定的,为了防止消息超时,我们应将其生命周期设置为永不过期。
21. 对消息做了修改或者转发的应用,最好传递原始消息的identity context(身份鉴别上下文)信息。
22. 保持永久性动态队列名称的唯一性,确保同一个应用多次调用/运行产生的动态队列的名字唯一性。
当应用程序需要动态产生应答队列时,它可以产生临时性动态队列和永久性动态队列,某些情况下,将利用永久性动态队列保留一些可恢复的消息,这意味着该永久性动态队列可以重新被打开,因此要保证它们名称的唯一性。
23. 在使用临时性动态队列来处理应答时,处理请求消息的应用要保证不要将应答消息设置为永久性消息。
临时性动态队列不能存储永久性消息,鉴于此,对请求做出响应的应用程序必须知道接收应答的队列是临时性动态队列还是永久动态队列,请求端应用和响应端应用必须对响应消息的永久性进行协调,以保证只有非永久性消息会被放置到临时动态队列中。
结论:为了更好地使用MQ,我们必须遵循一定的标准
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者