MQ集群新功能.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MQ集群新功能.doc

Websphere MQ v6集群的负载均衡新功能1. websphere mq 集群负载均衡的增强 在websphere mq集群中,成员队列管理器可以创建本地队列,并将其在集群中共享,集群中的其他成员队列管理器不需要任何额外的配置操作,就可以像访问本地队列一样向该队列放入(put)消息;每个成员队列管理器都可以创建与之同名的共享队列,于是该共享队列在集群中就拥有了多个副本,所有的副本将作为一个虚拟的整体;对访问者(调用mqput的应用)而言,它们就是一个队列,应用不需要关心如下细节: 物理上有多少队副本; 队列副本部署的物理列位置; 消息实际发送到哪个队列副本。 所有这些细节问题由集群负责处理,由此实现了集群的负载均衡功能。 然而,在v6之前,集群的负载均衡功能在实现上有若干的限制,其中我们最常碰到的是如下两点: 缺省的负载分配方式是平均主义――轮循(round robin),集群将同等对待所有的队列副本;要想实现更灵活的分配策略就得依靠开发人员定制自己的用户出口(user exit)程序。 负载分配的算法中有一项重要的例外――本地优先原则。一个消息进入到集群中会经由两种途径:1) 应用程序连接到集群中的某一成员队列管理器,调用mq api将消息写入共享队列;2)集群外部的队列管理器连接到集群中的某一成员队列管理器,并将消息由通道发送过来。无论是哪种途径,消息到达的第一个队列管理器,对该消息都具有特别的意义(我喜欢将该队列管理器称之为消息的着陆点)。本地优先原则是指如果着陆点 上拥有一个目标共享队列的副本,那么消息将永远不会被路由到其它远程队列管理器,只能进入着陆点本地的共享队列副本。也许可以为这样的实现方式想出一百条理由,但我们无法回避的是,它造成了这样一个结果:如果要从集群的外部发送消息到集群,并希望消息在集群的成员间合理的分配,那么集群中作为与外部环境接口点的队列管理器上就不能存在任何共享队列的副本,否则所有消息将积压在接口点队列管理器上,使集群的负载均衡功能英雄无用武之地。通常的解决方案是为集群配置至少一个特殊的队列管理器,通常称为网关(gateway)队列管理器,该队列管理器上没有任何共享队列的副本,只需配置与集群外部的通讯设置(通道、监听器等)和相关的队列管理器别名(queue-manager alias)。 即便websphere mq具有上述的局限,但瑕不掩瑜,在大规模集群方面,消息中间件(mom)业内还是少有能出其右者。这也许是在消息中间件技术不算悠久的发展历程上,无法回避的成长的阵痛。毕竟,mq还是为我们提供了解决问题的途径,虽然牺牲了些许的系统部署、管理的复杂度,手法也显的不是那么的优雅。 是否优先使用本地副本?是否采用轮循的分配策略?,在这个问题上,使用者应当具有自由的裁量权利,并拥有便捷的设置手段。我们终于在websphere mq v6里找回了那些被剥夺了的选择的自由。 在websphere mq v6中,使用者可以根据集群成员节点的实际处理能力,合理、灵活的分配工作负载,轮循(round robin)顺理成章的成为缺省的分发策略。本地共享队列副本优先的策略也依然是缺省的设置,但用户可以非常方便的修改策略,使集群中的其它共享队列副本可以和本地副本一样参与到消息分发的机制当中。当然,用户出口(user exit)程序仍然被支持,用户可以使用该机制实现更加个性化的负载均衡策略。 为支持上述新增功能,websphere mq为队列、通道、队列管理器等对象增加了若干的参数。 对象 参数命 解释 缺省值 队列(queues) clwluseq 指定该队列在负载均衡策略中,本地队列副本参与分发的方式。 local:只使用本地队列。 qmgr:参考队列管理器的clwluseq定义。 any:将本地和远程队列同等考虑。 qmgr clwlprty 指定共享队列副本的优先级。取值范围:0~9。 集群将所有消息发送到优先级最高的队列副本, 只有当优先级高的队列副本不可用时,优先级低的队列副本才被考虑。 队列副本的优先级在通道状态检查后才被检查;所以,只有当前可用的队列管理器才可能被选择。如果通道不可用,即便相应的队列副本优先级高,也不会被选中。 0 clwlrank 指定共享队列副本的等级。取值范围:0~9。 集群将所有消息发送到等级最高的队列副本。队列副本等级在通道状态检查之前被检查,所以无论对应的通道是否可用,等级高的队列都将被选择。 0 队列管理器 (queue manager) clwluseq 指定该队列管理器在负载均衡策略中,本地队列副本参与分发的方式。 local:只使用本地队列。 any:将本地和远程队列同等考虑。 local clwlmruc 最大out

文档评论(0)

ziyouzizai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档