3/17/2007

MQ讨论

应liuhui同学要求,开此贴,他老人家会给大家share一些MQ相关的经验~~

顶啊.

2 comments:

匿名 说...

再次奉献陋文一篇,供大家参考。另祝:永行同学的blog招财进宝,哈哈!

有关MQ对象配置的最佳实践

对于MQ系统配置,我们要规划MQ通讯网络,确定系统的拓扑结构,确定各种对象的属性和命名规则并创建所需的各种对象等,首先,我们谈一谈在系统建设之初,如何设计和定义MQ的各种对象。


1、有关队列管理器:

创建队列管理器时,应考虑的因素主要有:

1) 队列管理器的日志类型以及日志文件的大小和个数,要根据用户数据量的大小、各个队列上的消息总容量,来计算日志的总容量,以免在系统运行过程中出现日志写满的情况;

2) 应该为队列管理器指定和建立死信队列;

3) 对最多打开句柄数MAXHANDS(缺省为256,如果您需要多于256个应用程序同时连接队列管理器,应增大该值),最大消息长度MAXMSGL,最多的未提交的消息个数MAXUMSGS属性(缺省为10000,如果您使用了消息分段或分组,某个大消息的分段个数超过了10000,应增大该值)的考虑;

4) 创建完队列管理器之后,应修改队列管理器的配置文件,考虑有关TCP和通道有关的参数的配置,举例如下:

TCP:
KeepAlive=Yes

Channels:
AdoptNewMCA=ALL
PipeLineLength=2
MaxActiveChannels=200

2、有关队列:

对于队列的属性,应该考虑的因素主要有:

1) 永久性和非永久性设置:尤其要注意的是DEFPSIST属性的缺省值为No,若要保证消息的安全可靠,必须将其设置为Yes;

2) 对于本地队列和传输队列,要考虑队列的最大深度MAXDEPTH(缺省为5000,应根据实际情况计算该值),队列中每个消息的最大字节数MAXMSGL的配置。

3、有关通道:

对于通道的属性,应该考虑的因素主要有:

1) 确定通道的运行方式采用长连接的方式还是触发的方式,通常,对于需要频繁启动的通道,不适宜采用触发的方式。若采用触发方式启动通道,触发类型应为FIRST;

2) 对于发送类型的通道,要考虑通道的断开间隔(DISCINT)、短重试次数(SHORTRTY)、短重试间隔(SHORTTMR)、长重试次数(LONGRTY)、长重试间隔(LONGTMR)、批处理大小(BATCHSZ)的配置。

Yonghang Wang 说...

谢谢liuhui同学,呵呵,每天过来贴贴:)