欢迎来到天天文库
浏览记录
ID:35490404
大小:61.19 KB
页数:7页
时间:2019-03-25
《性能和消息流服务可用性改善的实现和部署最佳实践》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、IBM®WebSphere®MessageBroker(以下称为MessageBroker)可以作为企业服务总线使用,提供用于各种协议的通用连接以及为使用结构化和非结构化数据的应用程序提供数据转换功能。消息处理性能取决于很多因素,包拈硬件能力、软件配置、消息流和消息格式设计及实现,以及消息流实例的数量。本文将描述为众多客戸带来了性能和消息流服务可用性改善的实现和部署最佳实践。虽然本文并不讨论关联的WebSphereMQ和数据库实现的最住实践,但会从消息代理应用程序的角度对其有所涉及。最住实践并不是万能
2、的,在某些情况下,此处所述的最佳实践需要进行修改,以满足体系结构灵活性和适应客户的具体需求和能力。最佳实践领域消息流消息流开发阶段的最佳实践,包括如何避免会导致性能问题的消息流实现。ESQL消息流中的ESQL开发阶段的最佳实践,包括开发可重用代码和尽可能减少消息流中的优化ESQL代码(单从性能改善的角度而言)。发布/订阅针对使用发布/订阅模型路由消息的人员的最佳实践。不涉及总体最佳实践和克隆最佳实践。从MessageBroker的角度确定的数据库】此部分并不描述所有相关的数据库最住实践,但会说明在使用
3、MessageBroker作为MQ客户端应用程序时如何调整WebSphereMQ来改善性能。配置MessageBroker设置、配置和部署阶段的最佳实践。不涉及特定于高可用性环境的最佳实践。消息流通常,为了将配置信息同业务逻辑分离,客户会将配置信息外部化到文件或数据库中。此技术可能会降低性能,因为读取配置或参数文件是在创建节点的第一个实例时或处理第一个消息时的一次性活动,而不会对每个消息都进行循环检查。出于MessageBroker更多的是面向CPU而不是I/O,通常最好尽可能避免涉及文件或数据库的I
4、/O操作。尽可能使用部分解析方法,除非业务需要消息的完整解析。在消息流的最后,如果有输出节点(如MQOutput),贝IJ将出现消息、转换为位流),会解析完整的消息。此MessageBroker功能能帮助改进性能,因此尽可能对其加以利用。处理成本与消息树的人小z间存在直接的正比关系。因此,消息树人小和设计在处理成本中扮演着重要的角色。例如,将所有这些可能使用的字段都放置在决策中,以在消息的开始位置路由消息。由于对消息树进行部分解析时并不会完全解析,因此消息将路由到下一个节点。如果消息在HeadeT中包
5、含用户可维护的数据文件夹(如MQRFH2usi•文件夹),则建议最好在其中存储决策路由元素。尽可能减少消息流屮的节点数量。还要尝试减少消息树副本或创建新消息树。消息树占用了大量的空间,特别是在包含大量元素的情况下更是如此。仅在必要时使用计算节点(提供修改树的能力)之类的节点,以避免出现消息树副木。这不仅从内存利用率方面提高了效率,而且还提高了处理速度。避免使用重置内容描述符(ResetContentDescriptor)^"点。RCD节点旨在用丁•更改实际解析完整消息树的消息域。此活动的内存和CPU使
6、用量都较大。可以使用IF语句、“CREATEwithPARSE”语句和ESQLASBITSTREAM的逻辑组合来消除RCD节点和多个计算/筛选器节点。不要在生产环境中使用跟踪节点。使用${Root}表达式的操作开销非常大,因为这会导致进行完整消息树解析。如果冃的地不处于活动状态,就会发生这样的情况。在可能的情况下,请尽量使用用户退出,并恰当地重定向审核/日志记录信息。使用退出功能能够获得灵活性,可在消息处理期间动态地激活和取消激活。将中介结果保存在消息树中,以避免在后续节点中进行重新计算。如果消息在H
7、eader•屮包含用户可维护的数据文件夹(如MQRFH2usr5C件夹),则将屮间结果存储在其中,以供后续节点使用。当必须将消息写入到多个冃的地时,建议使用11的地列表,rfU不要采用使用多个节点的方法。使用XMLT节点时,请注意消息树将首先被序列化,然后再被发送到转换引擎。加载了样式表并执行转换Z后,节点要将结果重新解析为消息树。另外,MessageBrokerV6屮XMLT节点的输出始终为BLOB格式,因此如果消息处理必须在消息流屮进一步作为XML消息处理,则必须使用RCD节点。因此,将通过多次使
8、用XMLT节点解析整个消息树。如果耍转换的消息树很大,此操作开销将非常大。同时,如果ESQL与更好的逻辑一起使用,则处理成本将大幅度减少,因为不需要解析完整的消息树,所得到的好处更多。如果要使用XMLT节点,则请尽可能使用样式表缓存。仅将消息流用于执行转换、翻译、协议转换、消息充实和路由等屮介活动。消息流应该是中介活动中的无状态引擎。确保在消息处理期间输入节点的转换模式设置为“NCT,输出节点设置为"Automatic^只有当处理在转换模式下完成时才应该
此文档下载收益归作者所有