快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

葡京娱乐官网下载安装_龟发之家论坛



【导读】对付MQ的应用,主要会涉及到MQ系统本身的设置设置设备摆设摆设和MQ利用法度榜样的开拓两方面的事情。为了赞助大年夜家更好地应用MQ,本文姑息MQ设置设置设备摆设摆设和编程中的一些留意事变和技术与大年夜家探究,并盼望与大年夜家分享这方面的一些最佳实践(Best Practice)。

第一部分:有关MQ工具设置设置设备摆设摆设的最佳实践

对付MQ系统设置设置设备摆设摆设,我们要筹划MQ通讯收集,确定系统的拓扑布局,确定各类工具的属性和命名规则并创建所需的各类工具等,首先,我们谈一谈在系统扶植之初,若何设计和定义MQ的各类工具。

1、有关行列步队治理器:

创建葡京娱乐官网下载安装行列步队治理器时,应斟酌的身分主要有:

1) 行列步队治理器的日志类型以及日志文件的大年夜小和个数,要根据用户数据量的大年夜小、各个行列步队上的消息总容量,来谋略日志的总容量,以免在系统运行历程中呈现日志写满的环境;

2) 应该为行列步队治理器指定和建立逝世信行列步队;

3)对最多打开句柄数MAXHANDS(缺省为256,假如您必要多于256个利用法度榜样同时连接行列步队治理器,应增大年夜该值),最大年夜消息长度MAXMSGL,最多的未提交的消息个数MAXUMSGS属性(缺省为10000,假如您应用了消息分段或分组,某个大年夜消息的分段个数跨越了10000,应增大年夜该值)的斟酌;

4) 创建完行列步队治理器之后,应改动行列步队治理器的设置设置设备摆设摆设文件,斟酌有关TCP和通道有关的参数的设置设置设备摆设摆设,举例如下:

TCP:KeepAlive=YesChannels:AdoptNewMCA=ALLPipeLineLength=2MaxActiveChannels=200

2、有关行列步队:

对付行列步队的属性,应该斟酌的身分主要有:

1) 永远性和非永远性设置:尤其要留意的是DEFPSIST属性的缺省值为No,若要包管消息的安然靠得住,必须将其设置为Yes;

2) 对付本地行列步队和传输行列步队,要斟酌行列步队的最大年夜深度MAXDEPTH(缺省为5000,应根据实际环境谋略该值),行列步队中每个消息的最大年夜字节数MAXMSGL的设置设置设备摆设摆设。

3、有关通道:

对付通道的属性,应该斟酌的身分主要有:

1) 确定通道的运行要领采纳长连接的要领照样触发的要领,平日,对付必要频繁启动的通道,不合适采纳触发的要领。若采纳触发要领启动通道,触发类型应为FIRST;

2) 对付发送类型的通道,要斟酌通道的断开距离(DISCINT)、短重试次数(SHORTRTY)、短重试距离(SHORTTMR)、长重试次数(LONGRTY)、长重试距离(LONGTMR)、批处置惩罚大年夜小(BATCHSZ)的设置设置设备摆设摆设。

第二部分:有关MQ法度榜样开拓的最佳实践

平日大年夜家在应用MQ时,一样平常在系统设计之初只斟酌MQ的系统设置设置设备摆设摆设,而很少提前斟酌利用法度榜样编写的指示原则,每每是边写边想,边想边写,边写边改,使得开拓效率和质量都对照低,为了使大年夜家更快、更好地开拓出MQ利用法度榜样,在该部分我们给出与MQ法度榜样开拓相关的一些最佳实践,供大年夜家参考。这里我们无法做到面面俱到,并且因为每个用户的详细需求不合,每条原则都不能一概而论,然则从普遍意义上可以作为您的参考。

为了更好地掌握和懂得MQ编程的技术,我们首先要认识MQ的消息通讯模式,这将赞助你更好地舆解MQ编程的最佳实践。平日,MQ有两种通讯模式,即数据报 (Datagram) 要领和哀求/应答(Request/Reply) 要领:此中,Datagram要领平日又被称为"Send And Forget"(发送/轻忽),是最简单的通讯模式,利用法度榜样只需在创建完消息之后,使用MQ的API将消息发送到行列步队中,它充分使用了MQ确保消息传输,并且传一次且仅传一次(once and once only)的上风,发送端利用法度榜样无需关心消息何时被处置惩罚。

Request/Reply(哀求/应答)要领相对繁杂一些,在消息发出之后,你必要等待对方的处置惩罚结果,在这种环境下,你平日必要斟酌其他一些问题,如:

等待应答的光阴是若干?

假如没有收到应答,是否再次发出哀求?

应答发出之前是否会稀有据库操葡京娱乐官网下载安装作或其他买卖营业被履行?

本次哀求/应答历程的会话(session)信息是否必要被保留?

平日,我们要根据用户的需求来抉择采纳何种通讯模式,不合的通讯模式之下对利用法度榜样的斟酌将会有所不合,应用的MQ API的参数和选项也将不合。

为了使你的MQ利用能够加倍壮实,并且具有更强的可掩护性,我们要学会机动高效地应用MQ的一些特点以及相关的API选项,从而提到利用法度榜样的质量、机动性、靠得住性和机能。这里,我们将给出一些较范例的建议。

1. 在每一个MQ API调用之后,必须反省完成码(comp葡京娱乐官网下载安装letion code)和缘故原由码(reason code),对付非零的返回码,必须进行响应的处置惩罚,需要时,最好将返回码记录差错日志,从而在利用法度榜样呈现运行故障时便于反省和处置惩罚。

在MQ 中,所有的API调用都邑获得其完成码和缘故原由码,完成码有MQCC_OK、MQCC_WARNING、MQCC_FAILED等,MQCC_OK表示调用成功,当获得MQCC_葡京娱乐官网下载安装WARNING、MQCC_FAILED返回码时,表示API履行不完全成功,你必要进一步反省缘故原由码,经由过程不合的缘故原由葡京娱乐官网下载安装码阐发掉败缘故原由。如:缘故原由码2033代表行列步队已空,没有消息可取;2080代表消息的实际长度跨越了你在法度榜样代码中设置的缓冲区长度等等。

2. 对MQCONN, MQOPEN,MQCLOSE, MQDISC的应用

因为MQCONN, MQOPEN,MQCLOSE, MQDISC相对付MQGET和MQPUT来说是对照耗损资本的几个函数,在一个利用中,纵然你必要对某个行列步队进行多次读写操作,也不要对每一次读写都调用一次MQCONN, MQOPEN,MQCLOSE, MQDISC函数,精确的做法应该是,调用一次MQCONN, MQOPEN就可以对行列步队进行多次读写操作,别的,必然别忘怀对称地应用MQCLOSE, MQDISC函数将相关资本开释掉落。

3. 读取消息时,等待光阴距离的设置

对行列步队的读取操作,可以有两种要领,即轮巡要领和触发要领(使用MQ的触发功能动态调起利用法度榜样)。在采纳轮巡要领读取行列步队时,在MQGET时,我们必要设置消息读取选项MQGMO_WAIT,同时指按等待光阴距离。不少用户将光阴距离设定为MQWI_UNLIMITED以实现轮巡的目的,这样做的弊端在于在没有消息到达时利用法度榜样陷入无限的等待,无法接管来自外部系统的相关旌旗灯号,MQCLOSE,MQDISC调用也无法被履行,是以,我们建议避免采纳这种要领,保举的做法是设置特定的等待光阴距离,然后再轮回发出MQGET调用。

您可能还会对下面的文章感兴趣: