快速业务通道

Weblogic中的load banlance问题 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
imes in the ordering.

Random

- The weight assigned to the topic members is used to compute a weighted distribution for the members of the set. The messaging load is distributed across the topic members by pseudo-randomly accessing the distribution. In the short run, the load will not be directly proportional to the weight. In the long run, the distribution will approach the limit of the distribution. A pure random distribution can be achieved by setting all the weights to the same value, which is typically set to 1.

JMS Connection Factroy在创建JMSConnection的时候,这一层是load banlance的,即JMSConnection会连接到不同的后端managed server上。这个load banlance是基于round_robin的。一旦connection创建完成,所有通过该JMSConnection创建的consumer, producer会stick到JMSConnection对应的managed server上,即所有的message会被dispatch到该managed server的物理Queue上(因为sub-type的jms对象不是RMI对象,他们和后端managed server的通讯是基于dispatcher的,通过invocable id来识别对象)。如果producer send了很多条message, 那么这些消息如何分发?这就是Load Balancing ,ServerAffinity要做的事儿。

Load Balancing Enabled被check的时候,消息分发是基于send()方法的,即send一条message, message都会被分发到不同的Queue上。如果Load Balancing Enabled没有被check,那么同一producer send的所有message会被分发到同一物理Queue上。而ServerAffinity则说明loadbalance Queue的范围,如果serverAffinity为true,那么说明load banlance的范围为处理send request那台managed server上的Queues,如果为false,则说明在所有的queue间作load balance。

4:EJB的load banlance

Weblogic中的load banlance问题(3)

时间:2010-12-25 BlogJava 走走停停又三年

EJB的load banlance比较复杂,涉及到如下三个方面:

1:IntitialContext

关于InitialContext, 前面已经谈过,这里不再做讨论。

2:EJB Home

对于EJB Home,可以通过weblogic-ejb-jar.xml中的home-load-algorithm 配置,可选项包括:round-robin | random | weight-based | RoundRobinAffinity | RandomAffinity | WeightBasedAffinity, default依赖于weblogic.cluster.defaultLoadAlgorithm,如果没有对应的system property, 则为round-robin。

如果home-load-algorithm为round-robin,则说明客户端拿到initial context后,在做ejb home create的时候是round robin的(创建的的bean object位于不同的managed server上)。如果home-load-algorithm为 RoundRobinAffinity ,则表明home create是round robin的,但后续的home的操作则是server affinity的,比如,home位于serverA上,则该 home创建的所有bean object均位于serverA上。

其余算法基本类似,区别只是home create时候的算法不同而已。

3:EJB Object

对于Bean的load banlance,只有stateless session支持,可以通过stateless-bean-load-algorithm配置,可选项同EJB Home。因为stateful session bean及entity bean包含状态数据,所以无法作laod banlance,否则在数据同步方面,weblogic需要付出的开销要远大于laod banlance带来的收益。

如果stateless-bean-load-algorithm为round-robin,则说明bean操作是round-robin的。如果为RoundRobinAffinity ,则business method是affinity的,即所有的method都在object对应的server上被执行。

5:JDBC

对于JDBC,如果要使用load banlance的话,我们需要配置multi pool,multi pool和jms 的distribute dest

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号