集群的负载均衡技术综述_第1页
集群的负载均衡技术综述_第2页
集群的负载均衡技术综述_第3页
集群的负载均衡技术综述_第4页
集群的负载均衡技术综述_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

集群的负载均衡技术综述集群的负载均衡技术综述 摘 要 当今世界 无论在机构内部的局域网还是在广域网如 Internet 上 信息处理量的增 长都远远超出了过去最乐观的估计 即使按照当时最优配置建设的网络 也很快会感到吃 不消 如何在完成同样功能的多个网络设备之间实现合理的业务量分配 使之不致于出现 一台设备过忙 而别的设备却未充分发挥处理能力的情况 负载均衡机制因此应运而生 本组在课堂上讲解了 集群监控与调度 这一课题 本人在小组内负责负载均衡部分内容 以及 PPT 的制作 关键词 负载均衡 集群 网络 计算机 一 前言 负载均衡建立在现有网络结构之上 它提供了一种廉价有效的方法扩展服务器带宽和 增加吞吐量 加强网络数据处理能力 提高 网络的灵活性和可用性 它主要完成以下任务 解决网络拥塞问题 服务就近提供 实现地理位置无关性 为用户提供更好的访问质 量 提高服务器响应速度 提高服务器及其他资源的利用效率 避免了网络关键部位出现单点 失效 其实 负载均衡并非传统意义上的 均衡 一般来说 它只是把有可能拥塞于一个地 方的负载交给多个地方分担 如果将其改 称为 负载分担 也许更好懂一些 说得通俗 一点 负载均衡在网络中的作用就像轮流值日制度 把任务分给大家来完成 以免让 一个 人累死累活 不过 这种意义上的均衡一般是静态的 也就是事先确定的 轮值 策略 与轮流值日制度不同的是 动态负载均衡通过一些工具实时地分析数据包 掌握网络 中的数据流量状况 把任务合理分配出去 结构上分为本地负载均衡和地域负载均衡 全 局负载均衡 前一种是指对本地的服务器集群做负载均衡 后一种是指对分别放置在不 同的地理位置 在不同的网络及服务器群集之间作负载均衡 服务器群集中每个服务结点运行一个所需服务器程序的独立拷贝 诸如 Web FTP Telnet 或 e mail 服务器程序 对于某些服务 如 运行在 Web 服务器上的那些 服务 而言 程序的一个拷贝运行在群集内所有的主机上 而网络负载均衡则将工作负载 在这些主机间进 行分配 对于其他服务 例如 e mail 只有一台主机处理工作负载 针 对这些服务 网络负载均衡允许网络通讯量流到一个主机 上 并在该主机发生故障时将通 讯量移至其他主机 二 负载均衡技术实现结构 在现有网络结构之上 负载均衡提供了一种廉价有效的方法扩展服务器带宽和增加吞 吐量 加强网络数据处理能力 提高网络的 灵活性和可用性 它主要完成以下任务 1 解决网络拥塞问题 服务就近提供 实现地理位置无关性 2 为用户提供更好的访问质量 3 提高服务器响应速度 4 提高服务器及其他资源的利用效率 5 避免了网络关键部位出现单点失效 广义上的负载均衡既可以设置专门的网关 负载均衡器 也可以通过一些专用软件与 协议来实现 对一个网络的负载均衡应用 从网络的不同层次入手 根据网络瓶颈所在进 行具体分析 从客户端应用为起点纵向分析 参考 OSI 的分层模型 我们把负载均衡技 术的实现分为客户端负载均衡技术 应用服务器技术 高层协议交换 网络接入协议交换 等几种方式 三 负载均衡的层次 基于客户端的负载均衡 这种模式指的是在网络的客户端运行特定的程序 该程序通过定期或不定期的收集服 务器群的运行参数 CPU 占用情况 磁盘 IO 内存等动态信息 再根据某种选择策略 找到可以提供服务的最佳服务器 将本地的应用请求发向它 如果负载信息采集程序发 现 服务器失效 则找到其他可替代的服务器作为服务选择 整个过程对于应用程序来说是完 全透明的 所有的工作都在运行时处理 因此这也是一种动态的负载均衡技术 但这种技术存在通用性的问题 因为每一个客户端都要安装这个特殊的采集程序 并 且 为了保证应用层的透明运行 需要针对 每一个应用程序加以修改 通过动态链接库或 者嵌入的方法 将客户端的访问请求能够先经过采集程序再发往服务器 以重定向的过 程 进行 对于每一个应用几乎要对代码进行重新开发 工作量比较大 所以 这种技术仅在特殊的应用场合才使用到 比如在执行某些专有任务的时候 比 较需要分布式的计算能力 对应用的开发没 有太多要求 另外 在采用 JAVA 构架模型 中 常常使用这种模式实现分布式的负载均衡 因为 java 应用都基于虚拟机进行 可以在 应 用层和虚拟机之间设计一个中间层 处理负载均衡的工作 应用服务器的负载均衡技术 如果将客户端的负载均衡层移植到某一个中间平台 形成三层结构 则客户端应用可 以不需要做特殊的修改 透明的通过中间层 应用服务器将请求均衡到相应的服务结点 比 较常见的实现手段就是反向代理技术 使用反向代理服务器 可以将请求均匀转发给多 台 服务器 或者直接将缓存的数据返回客户端 这样的加速模式在一定程度上可以提升静态 网页的访问速度 从而达到负载均衡的目 的 使用反向代理的好处是 可以将负载均衡和代理服务器的高速缓存技术结合在一起 提供有益的性能 然而它本身也存在一些问 题 首先就是必须为每一种服务都专门开发一 个反向代理服务器 这就不是一个轻松的任务 反向代理服务器本身虽然可以达到很高效率 但是针对每一次代理 代理服务器就必 须维护两个连接 一个对外的连接 一个对 内的连接 因此对于特别高的连接请求 代理 服务器的负载也就非常之大 反向代理能够执行针对应用协议而优化的负载均衡策略 每 次仅访问最空闲的内部服务器来提供服务 但是随着并发连接数量的增加 代理服务器本 身的负载也变得非常大 最后反向代理服 务器本身会成为服务的瓶颈 基于域名系统的负载均衡 NCSA 的可扩展 Web 是最早使用动态 DNS 轮询技术的 web 系统 在 DNS 中为多个地 址配置同一个名字 因而查询这个名字的客户机将 得到其中一个地址 从而使得不同的客 户访问不同的服务器 达到负载均衡的目的 在很多知名的 web 站点都使用了这个技术 包括 早期的 yahoo 站点 163 等 动态 DNS 轮询实现起来简单 无需复杂的配置和管理 一般支持 bind8 2 以上的类 unix 系统都能够运行 因 此广为使用 DNS 负载均衡是一种简单而有效的方法 但是存在不少问题 首先域名服务器无法知道服务结点是否有效 如果服务结点失效 余名系统依然会将 域名解析到该节点上 造成用户访问失效 其次 由于 DNS 的数据刷新时间 TTL Time to LIVE 标志 一旦超过这个 TTL 其 他 DNS 服务器就需要和这个服务器交互 以重 新获得地址数据 就有可能获得不同 IP 地 址 因此为了使地址能随机分配 就应使 TTL 尽量短 不同地方的 DNS 服务器能更新对 应的 地址 达到随机获得地址 然而将 TTL 设置得过短 将使 DNS 流量大增 而造成额 外的网络问题 最后 它不能区分服务器的差异 也不能反映服务器的当前运行状态 当使用 DNS 负 载均衡的时候 必须尽量保证不同的客户计 算机能均匀获得不同的地址 例如 用户 A 可能只是浏览几个网页 而用户 B 可能进行着大量的下载 由于域名系统没有合适的负载 策 略 仅仅是简单的轮流均衡 很容易将用户 A 的请求发往负载轻的站点 而将 B 的请 求发往负载已经很重的站点 因此 在动态平衡特 性上 动态 DNS 轮询的效果并不理想 带均衡策略的服务器群集 如今 服务器必须具备提供大量并发访问服务的能力 其处理能力和 I O 能力已经成 为提供服务的瓶颈 如果客户的增多导致通信 量超出了服务器能承受的范围 那么其结果 必然是 宕机 显然 单台服务器有限的性能不可能解决这个问题 一台普通服务器的 处理能力只能达到每秒几万个到几十万个请求 无法在一秒钟内处理上百万个甚至更多的 请求 但若能将 10 台这样的服务器组成一个 系统 并通过软件技术将所有请求平均分配 给所有服务器 那么这个系统就完全拥有每秒钟处理几百万个甚至更多请求的能力 这就 是利用服务器群集实现负载均衡的最初基本设计思想 早期的服务器群集通常以光纤镜像卡进行主从方式备份 令服务运营商头疼的是关键 性服务器或应用较多 数据流量较大的服务 器一般档次不会太低 而服务运营商花了两台 服务器的钱却常常只得到一台服务器的性能 通过地址转换将多台服务器网卡的不同 IP 地址翻译成一个 VIP Virtual IP 地址 使得每台服务器均时时处于工作状态 原来需要用小 型机来完成的工作改由多台 PC 服务器完成 这种弹性解决方案对投资保护的作用是相当 明显的 既避免了小型机刚性升级所带来的巨大设备投资 又避免了人员培训的重复投 资 同时 服务运营商可以依据业务的需要随时调整服务器的数量 网络负载均衡提高了诸如 Web 服务器 FTP 服务器和其他关键任务服务器上的因特网 服务器程序的可用性和可伸缩性 单一计算 机可以提供有限级别的服务器可靠性和可伸缩 性 但是 通过将两个或两个以上高级服务器的主机连成群集 网络负载均衡就能够提 供 关键任务服务器所需的可靠性和性能 为了建立一个高负载的 Web 站点 必须使用多服务器的分布式结构 上面提到的使用 代理服务器和 Web 服务器相结合 或者两台 Web 服务器相互协作的方式也属于多服务器 的结构 但在这些多服务器的结构中 每台服务器所起到的作用是不同的 属于非对称的 体系结构 非对称的服务器结构中每个服务器起到的作用是不同的 例如一台服务器用于 提供静态网页 而另一台用于提供动态网页 等等 这样就使得网页设计时就需要考虑不同 服务器之间的关系 一旦要改变服务器之间的关系 就会使得某些网页出现连接错误 不 利于维护 可扩展性也较差 能进行负载均衡的网络设计结构为对称结构 在对称结构中每台服务器都具备等价的 地位 都可以单独对外提供服务而无须其他 服务器的辅助 然后 可以通过某种技术 将 外部发送来的请求均匀分配到对称结构中的每台服务器上 接收到连接请求的服务器都 独 立回应客户的请求 在这种结构中 由于建立内容完全一致的 Web 服务器并不困难 因此 负载均衡技术就成为建立一个高负载 Web 站点的关键性技术 总之 负载均衡是一种策略 它能让多台服务器或多条链路共同承担一些繁重的计算 或 I O 任务 从而以较低成本消除网络瓶颈 提高网络的灵活性和可靠性 参考文献 1 陈华平 可扩展并行 Web 服务器集群的实现技术 期刊论文 计算机工程与应用 2000 03 2 胡子昂 王立 算法 网络拓扑及调度频率与动态负载平衡的关系 期刊论文 计算机工程与 科学 2000 01 3 Dahlin M Interpreting Stale Load Information 1999 4 Mitzenmacher M How Useful is Old Information 5 Cenova Z Christensen K J Chanllenges In URL Switching for Implementing Globally Distributed Web Sites 2000 6 马晓星 分布式 Web 服务器综述 期刊论文 计算机科学 2002 01 7 郭成城 晏蒲柳 GUO Cheng Cheng YAN Pu Liu 一种异构 Web 服务器集群动态负载均衡 算法 期刊论文 计算机学报 2005 28 2 8 陈超 赵跃龙 王文丰 潘敏 CHEN Chao ZHAO Yue long WANG Wen feng PAN Min 基于 反馈的改进动态负载均衡策略 期 刊论文 计算机工程 2010 36 14 9 潘向辉 张二虎 吴学毅 蔺广逢 一种多集群网格的负载均衡算法 期刊论文 计算机工程与 应用 2009 45 35 10 李双庆 游莲 程代杰 基于内容的 Web 集群系统负载均衡策略 期刊论文 重庆大学学报 自然科学版 2003 26 5 11 郑燕玲 负载均衡概述 期刊论文 福建电脑 2010 1 12 董立岩 黄乐 王利民 毛锐 殷涵 改进的分布式系统负载平衡策略 期刊论文 北京工业大 学学报 2011 12 13 陈小燕 万麟瑞 网络负载均衡算法研究 期刊论文 硅谷 2010 24 14 张丽勇 骆参驹 基于 LVS 的校园网 Web 服务器集群负载均衡应用 期

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论