负载均衡,这个词令许多初涉网络的人不知所云。其实,负载均衡并非传统意义上的“均衡”,一般来说,它只是把有可能拥塞于一个地方的负载交给多个地方分担。如果将其改称为“负载分担”,也许更好懂一些。说得通俗一点,负载均衡在网络中的作用就像轮流值日制度,把任务分给大家来完成,以免让一个人累死累活。
与轮流值日制度不同的是,网络负载均衡是一种动态均衡,它通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务合理分配出去。在现在的网络中,载荷分布并不均匀,对于计算集中型的应用,比如电子商务网站,服务器计算负荷会很大;对于读写频繁的应用,比如网络数据库,存储系统面临考验;传输量大的应用,比如视频服务,数据总是堵在网络接口上;访问量大的应用,路由器与防火墙易成瓶颈。想要消除这些瓶颈,升级设备、改变拓扑是“笨办法”,相对取巧一些的,就是采用负载均衡策略,用多个设备共同完成任务。
既然过大负载可能在网络中很多地方出现,均衡策略也就有了多种多样的形式,广义上的负载均衡既可以设置专门的网关、负载均衡器,也可以通过一些专用软件与协议来实现。在osi七层协议模型中的第二、三、四、七层都有相应的负载均衡策略,在数据链路层上,可以基于数据包的目的mac地址选择不同链路;在网络层,可以用基于ip地址的分配方式,将数据流疏通到多个节点;而所谓第四层交换乃至第七层交换,本身便是一种基于访问流量的控制方式,起到了负载均衡的作用。
许多厂商的产品也都通过各种方式各显神通:3com的智能网卡和dynamicaccess技术结合起来,不用在交换机上做任何设置,就可以完成分担任务;cisco路由器通过对动态环路、旁路技术等功能的提供实践着负载均衡;win2000中,专门集成了针对服务器群集的负载均衡软件;还有许多厂商都支持的链路聚集、高层交换……实现方法还在不断地花样翻新,充实着“负载均衡”的内容。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器