- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章负载平衡
9.其他几种负载平衡算法 投标策略:重载站点向系统广播一个“请求迁移出负载”的请求消息,接收到这一请求消息的站点根据自己的状态决定是否参与投标,重载站点从参与投标的站点中选择负载最少的站点接收要迁移的任务。 9.其他几种负载平衡算法 广播策略:每个站点都将自己当前的负载广播给系统中所有其他的站点。重载站点可将一定的负载直接迁移到负载最少的站点,轻载站点可以直接从最高负载站点请求接收一定量的负载给自己。 10.JBOSS服务器中的负载平衡机制 JBOSS是一个开放源码的、基于J2EE规范的应用服务器,它实现了大多数的J2EE规范,除此之外,它还提供了一些J2EE中所没有涉及到的企业级功能。JBOSS采取的集群策略就是其中之一。 * 10.JBOSS服务器中的负载平衡机制 JBOSS中的集群策略包括集群的管理、负载平衡机制、失效转发机制、服务端状态的复制和同步、异步的问题等。下面介绍一下负载平衡机制。 10.JBOSS服务器中的负载平衡机制 设计JBOSS集群策略中的负载平衡机制时,首先要决定负载平衡机制在哪激活。有下面三种方案: * 三种方案的对比 上图中的3种方案都有其利弊,但普遍认为最后一个方法要比前两个好,原因如下: 1、与第2种方案相比,它避免了由于中介服务器失效而引发的全线崩溃。 2、除非客户端崩溃,负载平衡策略才会失败。 3、从性能方面来考虑,这种方案也是最优的,因为所有的策略都是发生在客户端的,省去了第1、2种方案由服务器来管理带来的瓶颈。 实际中用的最多的也是最后一种方案。 * 负载平衡的设计策略 拦截器:是动态拦截Action调用的对象。它提供了一种机制使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。 * 负载平衡的设计策略 JBOSS的负载平衡策略是由拦截器实现的,然而我们要考虑的是虽然客户端只发出一个调用,但针对于代理对象的调用可能包含多个可用的服务器结点,其个数等于集群中所有有效节点之和,那么到底是由谁来决定这个策略的呢?这个工作由一个叫插件式的负载平衡策略来实施的。 负载平衡的设计策略 当客户端调用到达最后一个拦截器的时候,拦截器会请求插件式负载平衡策略来为它选择一个服务器结点。如果此结点有效且调用成功,则结果会返回给代理对像,如果失败了,拦截器不会直接将错误返回给代理对像,而是将这个错误信息报告给插件式负载平衡策略,并请求它再为客户端选择一个新节点。 * 负载平衡的设计策略 由于JBOSS的负载平衡策略是在客户端进行的,那么客户端在调用EJB的时候会将所有必须的组件下载下来,然后由其进行决策。 JBOSS的集群实现是动态的,也就是说你可以动态地往集群中加入一个新节点或关闭任意一个节点,而不用费力地维护一张静态的拓扑图,就好像是JBOSS自己有能力管理集群一样。这就产生了服务器节点拓扑图的刷新问题。 服务器节点拓扑图的刷新 * * 拓扑图的刷新问题的解决 * * * 6.2 负载平衡 * 主要内容 概述 负载平衡算法分类 负载平衡算法的组成 几种负载平衡算法的介绍 JBoss服务器中的负载平衡机制 * 概述 负载平衡也称负载共享,是指对系统中的负载情况进行动态调整,以尽量消除或减少系统中各站点负载不均匀的现象。 具体的实现方法是将重载站点上的任务转移到其他轻载站点上,尽可能实现系统中各站点的负载平衡,从而提高系统的吞吐量。 * 1.概述 负载:负载共享算法中的关键问题是如何确定负载。曾经被研究及使用过的负载包括: CPU队列长度 某段时间内的平均CPU队列长度 CPU利用率等 负载的选取对系统性能有着重要影响,最有效的负载计算方式是CPU队列长度。 * 1.概述 动机:负载共享能够通过将重载处理机上的任务迁移到轻载处理机上执行来提高性能。 性能:从静态角度看,高性能指各处理机上的负载基本平衡。从动态角度看,性能的尺度是任务的平均响应时间。 2.负载平衡算法分类 负载平衡算法分为:动态算法和自适应两大类 动态算法:根据系统状态,对可以接受任务的站点进行分析,可以将任务迁移到空闲站点,甚至可以将正在执行的任务迁移到其他空闲站点。 动态负载平衡算法可以根据集中的程度加以区分,分为集中、分散、组合三种。 * 2.负载平衡算法分类 自适应算法:通过动态改变参数甚至策略来调整自身的行为,以适应正在改变的系统状态。即能够根据系统状态的变化选择合适 的算法。 2.负载平衡算法分类 抢占式任务迁移:可以转移一个已部分执行的任务。这个操作通常是非常昂贵的,因为收集任务的状态信息非常困难。任务状态包括虚拟内存的映像、进程控制块、I/O缓冲区、文件指针等。因此实现抢占式任务迁移开销很大。 非
文档评论(0)