使用负载均衡技术建设高负载的网络站点
2022-11-11
来源:乌哈旅游
网络技术 使用负载均衡技术建设高负载的网络站点 陈冬生 刘振东 1.中国电子科技集团公司第54研究所 石家庄050081 2.河北政法职业学院 石家庄050061 摘要 随着互联网络的不断发展,信息交换需求的增加,对网络站点的负载能力要求越来越 高。针对如何建设高负载的网络站点这一问题,分析了负载均衡技术的基本原理,研究了基于特定服务 器软件的负载均衡、基于DNS的负载均衡等几种不同负载均衡技术的性质。比较了它们的优缺点,得 出了相应的结论并提出一些建议。 关键词 中图分类号负载均衡DNS反向代理文献标识码NAT A 回浏览器请求的网页,而是送回一个Locaction指 TP302.1 1 引言 lntemet的快速增长使多媒体网络服务器,特 别是web服务器,面对的访问者数量快速增加, 网络服务器需要具备提供大量并发访问服务的能 令,让浏览器去服务器集群中的其他服务器上获 得所需要的网页。 在这种方式下,服务器本身必须支持这种功 能,然而具体实现起来却有很多困难,例如一台服 务器如何能保证它重定向过的服务器是比较空闲 的,并且不会再次发送Location指令?Location指 令和浏览器都没有这方面的支持能力,这样很容 易在浏览器上形成一种死循环。因此这种方式实 际应用当中并不多见,使用这种方式实现的服务 力。简单地提高硬件性能并不能真正解决这个问 题,必须采用多台服务器提供网络服务,并将网络 请求分配给这些服务器分担,才能提供处理大量 并发服务的能力,对于大负载的网站,根本的解决 办法还需要应用负载均衡技术。负载均衡的思路 下多台服务器为对称方式,每台服务器都具备等 价的地位,都可以单独对外提供服务而无需其他 服务器的辅助。然后通过某种负载分担技术,将 器集群软件也较少 有些特定情况下可以使用 CGI(包括使用FastCGI或mod perl扩展来改善性 能)来模拟这种方式去分担负载,而Web服务器 仍然保持简洁、高效的特性,此时避免Location循 环的任务将由用户的CGI程序来承担。 外部发送来的请求均匀分配到对称结构中的某一 台服务器上,而接收到请求的服务器都独立回应 客户机的请求。由于建立内容完全一致的Web 服务器并不复杂,可以使用服务器同步更新或者 共享存储空间等方法来完成,因此负载均衡技术 就成为建立一个高负载Web站点的关键性技术。 3基于DNS的负载均衡 由于基于服务器软件的负载均衡需要改动软 件,因此常常是得不偿失,负载均衡最好是在服务 2基于特定服务器软件的负载均衡 很多网络协议都支持“重定向”功能,例如在 HTrP协议中支持Location指令,接收到这个指令 的浏览器将自动重定向到Location指明的另一个 URL上。由于发送Location指令比起执行服务请 求,对Web服务器的负载要小得多,因此可以根 据这个功能来设计一种负载均衡的服务器。web 器软件之外来完成,这样才能利用现有服务器软 件的种种优势。最早的负载均衡技术是通过DNS 服务中的随机名字解析来实现的,在DNS服务器 中,可以为多个不同的地址配置同一个名字,而最 终查询这个名字的客户机将在解析这个名字时得 到其中的一个地址。因此,对于同一个名字,不同 的客户机会得到不同的地址,它们也就访问不同 地址上的web服务器,从而达到负载均衡的 收稿日期:2004年11月7日 服务器认为自己负载较大时,它就不再直接发送 2005年无线电工程第35卷第6期 29 网络技术 目的。 例如,如果希望使用三个Web服务器来回应 对WXVW.example.org.CFI的H rrP请求,就可以设置 该域的DNS服务器中关于该域的数据包括与下 面例子类似的结果: wwwl IN A 192.168.1.1 www2 IN A 192.168.1.2 www3 IN A 192.168.1.3 WXVW IN CNAME wwwl WXVW IN CNAME www2 WXVW IN CNAME www3 此后外部的客户机就可能随机的得到对应 WXVW的不同地址,那么随后的} 请求也就发 送给不同地址了。 DNS负载均衡的优点是简单、易行,并且服务 器可以位于互联网的任意位置上,当前使用在包 括Yahoo在内的Web站点上。然而它也存在不少 缺点:①为了保证DNS数据及时更新,一般都要 将DNS的刷新时间设置得较小,但太小就会造成 太大的额外网络流量,并且更改了DNS数据之后 也不能立即生效;②DNS负载均衡无法得知服务 器之间的差异,它不能做到为性能较好的服务器 多分配请求,也不能了解到服务器的当前状态,甚 至会出现客户请求集中在某一台服务器上的偶然 情况。 4反向代理负载均衡 使用代理服务器可以将请求转发给内部的 Web服务器,使用这种加速模式显然可以提升静 态网页的访问速度 因此也可以考虑使用这种技 术,让代理服务器将请求均匀转发给多台内部 Web服务器之一上.从而达到负载均衡的目的。 这种代理方式与普通代理方式有所不同,标准代 理方式是客户使用代理访问多个外部Web服务 器,而这种代理方式是多个客户使用它访问内部 Web服务器,因此也被称为反向代理模式。 实现这个反向代理能力并不能算是一个特别 复杂的任务,但是在负载均衡中要求特别高的效 率,这样实现起来就不会十分简单。每针对一次 代理,代理服务器就必须打开两个连接:一个为对 外的连接,一个为对内的连接。因此对于连接请 求数量非常大的时候,代理服务器的负载也就非 30 2,OO5 Radio Engin ̄ring Vo1.35 No.6 常之大了,在最后反向代理服务器会成为服务的 瓶颈。例如,使用Apache的mod—rpmxy模块来实 现负载均衡功能时,提供的并发连接数量受 Apache2 ̄身的并发连接数量的限制。一般来讲, 可以使用它来对连接数量不是特别大,但每次连 接都需要消耗大量处理资源的站点进行负载均 衡,例如搜寻。 使用反向代理的好处是,可以将负载均衡和 代理服务器的高速缓存技术结合在一起,提供有 益的性能,具备额外的安全性,外部客户不能直接 访问真实的服务器。并且可以实现较好的负载均 衡策略,将负载可以非常均衡地分给内部服务器, 不会出现负载集中到某个服务器的偶然现象。 5 基于NAT的负载均衡技术 网络地址转换是在内部地址和外部地址之间 进行转换,以便具备内部地址的计算机能访问外 部网络,而当外部网络中的计算机访问地址转换 网关拥有的某一外部地址时,地址转换网关能将 其转发到一个映射的内部地址上。因此,如果地 址转换网关能将每个连接均匀转换为不同的内部 服务器地址,此后外部网络中的计算机就各自与 自己转换得到的地址上服务器进行通信,从而达 到负载分担的目的。 地址转换可以通过软件方式来实现,也可以 通过硬件方式来实现。使用硬件方式进行操作一 般称为交换,而当交换必须保存TCP连接信息 时,这种针对OSI网络层的操作就被称为第四层 交换。支持负载均衡的网络地址转换为第四层交 换机的一种重要功能,由于它基于定制的硬件芯 片,因此其性能非常优秀,很多交换机声称具备 4OO~800 MB的第四层交换能力,然而也有一些 资料表明,在如此快的速度下,大部分交换机就不 再具备第四层交换能力了,而仅仅支持第三层甚 至第二层交换。 然而对于大部分站点来讲,当前负载均衡主 要是解决Web服务器处理能力瓶颈的,而非网络 传输能力,很多站点的互联网连接带宽总共也不 过10 MB,只有极少的站点能够拥有较高速的网 络连接。因此,一般没有必要使用这些负载均衡 器这样的昂贵设备。 使用软件方式来实现基于网络地址转换的负 网络技术 载均衡则要实际得多,除了一些厂商提供的解决 方法之外,更有效的方法是使用免费的自由软件 来完成这项任务。其中包括Linux Virtual Server Project中的NAT实现方式。一般来讲,使用这种 软件方式来实现地址转换,中心负载均衡器存在 带宽限制,在100 MB的快速以太网条件下,能得 到最快达80 MB的带宽,然而在实际应用中,可能 只有40~60 MB的可用带宽。 如对SSL的支持等。 由于这种方式比较复杂,因此实现起来比较 困难,它的起点也很高,当前情况下网站并不需要 这么大的处理能力。 7 结束语 比较上面的负载均衡方式,DNS最容易,也最 常用,能够满足一般的需求。但如果需要进一步 的管理和控制,可以选用反向代理方式或NAT方 式,这两种之问进行选择主要依赖缓冲是不是很 重要,最大的并发访问数量是多少等条件。而如 果网站上对负载影响很厉害的CGI程序是由网站 自己开发的,也可以考虑在程序中自己使用 Locactior ̄支持负载均衡。半中心化的负载分担 方式至少在国内当前的情况下还不需要。 参考文献 6扩展的负载均衡技术 上面使用网络地址转换来实现负载分担,毫 无疑问所有的网络连接都必须通过中心负载均衡 器。那么,如果负载特别大,以至于后台的服务器 数量不再在是几台、十几台,而是上百台甚至更 多,即便是使用性能优秀的硬件交换机也会遇到 瓶颈。此时,问题将转变为,如何将那么多台服务 器分布到各个互联网的多个位置,分散网络负担。 当然这可以通过综合使用DNS和NAT两种方法 来实现,然而更好的方式是使用一种半中心的负 载均衡方式 在这种半中心的负载均衡方式下,即当客户 [1]许建欣,陈军.LintLx WWW服务器高级配置与管理 [M].北京:机械工业出版社,2001. [2](美)亨特(Hunt,C.)著.高效配置与管理LintLx网络服 务器[M].赵现军译.北京:电子工业出版社,2003. [3]安海忠.商业网站创建与管理[M].北京:人民交通出 版社,2002. 请求发送给负载均衡器的时候,中心负载均衡器 将请求打包并发送给某个服务器,而服务器的回 应请求不再返回给中心负载均衡器,而是直接返 回给客户。因此,中心负载均衡器只负责接受并 转发请求,其网络负担就较小了。此时,每个后台 服务器都需要进行特别的地址转换,以欺骗浏览 器客户,认为它的回应为正确的回应。 同样,这种方式的硬件实现方式也非常昂贵, 但是会根据厂商的不同,具备不同的特殊功能,例 [4]刘宗田,刘莹.Web站点安全与防火墙技术[M].北 京:机械工业出版社,2001. [5]王波.FreeBSD使用大全[M].北京:机械工业出版社, 1999 作者简介 陈冬生刘振东男,(1968 ),中国电子科技集团公司第54研究所 男,(1968~),河北政法职业学院,工程师。从事计 工程师,机电一体化专业。 算机网络与应用研究。 (上接第28页) Edges with Respect to the Number of Spanning Trees[J]. IEEE Transactions on Reliability,1994,43(4):600~602. 于衡量链路的重要程度,L 越大对网络的贡献 也就越大。 参考文献 l 1 J Kris T.Newport.Design of Survivable Communications [4]陈勇,胡爱群.通信网中链路重要性的评价方法[J]. 电子学报,2003,31(4):573~575. [5]E.Mimeka.网络和图的最优化算法[M].北京:中国铁 道出版社,1984. 作者简介 Networks under Performance Constraints[J].IEEE Trans actions on Reliability 1991,40(4):433~440. 高京伟男,中国电子科技集团公司第54研究所工程师,硕 [2]高京伟.某专用机动通信网网络规划技术研究[D]. 西安:西安电子科技大学,2004. 13 J F.P.Tsen,T.Y.Sung,M.Y.Lin.Finding the Most Vitial 士。主要研究方向:网络规划、网络管理。 宗小平男 国家遥感中心航空遥感一部工程师,硕士。主 要研究方向:数字图像处理、网络规划。 2005年无线电工程第35卷第6期 31