找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1853|回复: 0
收起左侧

折腾MQ

[复制链接]
ID:127229 发表于 2016-6-19 01:53 | 显示全部楼层 |阅读模式
最近做一个中字头的项目,甲方指定要用MQ,至于为啥要用MQ,反正party的企业不差钱,哪个贵就用哪个准没错的。从我们做技术的角度来看,客户这点小需求整个MQ绝对是浪费,想像一下村子里的土豪开个保时捷跑车在乡间土路上显摆的感觉。。。

MQ属于高富帅产品,以前没怎么用过,项目开始了一边google一边折腾,然后开始漫长踩坑经历。
先总结一下,防止以后忘记再踩次坑,那就是傻到自虐了。

MQ有几个坑,随便记记:
1.队列管理器
  下面管理了一堆队列和相关属性。

2.通道
  用于两个MQ系统连接,

3.队列
  队列有远程队列,本地队列。本地队列用于读取消息,远程队列用于发送消息

4.侦听器
可以配不同的侦听端口。

5.字符编码问题
   DISPLAY QMGR CCSID        ;查看字符编码
   ALERT QMGR CCSID(1381)    ;设置字符编码
   
   1381是指gb2312,1208是指utf8
   如果中文乱码,可以双方设置成相同编码再试试
   
6.消息格式问题
   缺省用NONE,表示二进制
   如果用STRING类型,需要配置字符和编码转换规则,如果不配用队列管理器上的配置
   
7.编译连接问题
   老大的一个坑,在这上面浪费了2天。
   编译连接库分两个版本,一个用于server,一个是client版本
   源代码一样一样,连接不同的库决定你的程序功能。
   如果连接错了,连接报2058错。
          还有,连接库还分多线程版本和单线程版本,调错的话,多线程会报啥一个句柄同一时间只能被一个调之类的错,错误号忘了

8.MQ的日志
看不太懂,仅用参考
/var/mqm/errors
/var/mqm/qmgr/xxx/errors

最后喷一下IBM,虽然MQ是全向全行业的,但我觉得主流人群肯定有主流用法,只要把这些人的用法描叙清楚就好了,至少要突出一点。
现在他们所有的问题都有文档,但文档是扁平的,没有主次之分,乍一看,相当于没文档,有用的信息全部被噪音文档干扰。
最后实在搞不掂了,通过关系找到IBM的工程师,跟人家没说几句话就给我一个文档连接,照着一改就好了,浪费我们多少时间啊,全世界范围内不知道有多少人浪费了多少时间在这里面。我可以肯定我遇到的问题其它人也经常遇到,IBM非常有必要整理一份最常见问题列表。

---------------
又过了二个月,开始续集,继续折腾。 在50M带宽的40ms延时网络上,server对server,单通道只能收发600-700KB,你妹啊,你在逗我玩吧。找了IBM北京、IBM中国试验室,IBM美国,来来回回换了几个工程师现场、远程,通通搞不掂,告诉我网络有问题。然后又解释不了为啥我写的单连接异步程序能把整个带宽打满。 难道真的是盛名之下,其实难副?



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表