“天真岁月人真瘦”通过精心收集,向本站投稿了9篇Windows 网络负载均衡的实现,下面是小编整理后的Windows 网络负载均衡的实现,欢迎大家阅读借鉴,并有积极分享。

Windows 网络负载均衡的实现

篇1:Windows 网络负载均衡的实现

二、网络负载平衡的实现

这两台计算机中,一台计算机名称为w2003-1,IP地址为202.206.197.190,另一台名为w2003-2,IP地址为202.206.197.191.

规划网络负载平衡群集使用的IP地址为202.206.197.195,规划网络负载平衡群集完整的计算机名称为 cluster.heinfo.edu.cn.你需要在heinfo.edu.cn域中注册此主机名称并将地址设置为202.206.197.195.如果你没有DNS,可以在需要访问网络负载平衡的客户机(包括网络负载平衡主机)上编辑%systemroot%“system32”drivers“ etc目录下的hosts文件,添加一条信息“202.206.197.195 cluster.heinfo.edu.cn”,即可解决DNS域名解析的问题,

当正式应用时,客户机只需要使用cluster.heinfo.edu.cn或IP地址202.206.197.195来访问服务器,网络服务平衡会根据每台服务器的负载情况自动选择202.206.197.190或者202.206.197.191对外提供服务。

网络负载平衡的实现过程如下:

在实现网络负载平衡的每一台计算机上,只能安装TCP/IP协议,不要安装任何其他的协议(如IPX协议或者NetBEUI协议),在网络属性中,“网络负载平衡”也不能被选择,这可以从“网络连接属性”中查看。

①先进入第一台计算机,以管理员身份登录,从“管理工具”中运行“网络负载平衡管理器”,用鼠标右键单击“网络负载平衡群集”,从出现的菜单中选择“新建群集”,进入“群集参数”界面。

在“IP地址”后面输入规划的群集参数地址202.206.197.195,在子网掩码处使用默认值,在“完整Internet名称”后面输入cluster.heinfo.edu.cn(也可以是其他的名称,但输入的DNS名称必须与输入的IP地址相符),

如果允许远程控制,请选中“允许远程控制”,并在“远程密码”和“确认密码”处输入可以进行远程控制的密码。

②点击“下一步”按钮,进入群集IP地址页面后再进入“端口规则”界面,点击“下一步”按钮,进入“连接”界面。

③在“连接”界面的“主机”栏中输入当前计算机的名称w2003-1,然后点击“连接”按钮,将在“对配置一个新的群集可用的接口”框中显示出连接的计算机的网卡及IP地址。选择与群集IP地址同一网段的地址(用于对外提供网络应用的网卡),然后点击“下一步”按钮,进入设置“主机参数”界面,点击“完成”按钮,系统将自动开始网络负载平衡群集的配置。几分钟后,网络负载平衡群集配置完成。

④打开第二台计算机,并以管理员的身份登录进入。

注意:在网络负载平衡中的每个节点上,管理员账号的用户名和密码最好一致。

⑤然后,在第一台计算机上,用鼠标右键单击新创建的群集,从出现的菜单中选择“添加主机到群集”。将出现“连接”界面,在“主机”中输入第二台计算机的计算机名称,点击“连接”按钮,将会在“对配置群集可用的接口”下面显示出连接的计算机上的网络配置。选择202.206.197.191的网卡,进入主机参数界面,点击“完成”按钮,即可返回网络负载平衡管理器。

⑥关闭网络负载平衡管理器后再进入网络负载平衡管理器。用鼠标右键单击“网络负载平衡群集”,从出现的菜单中选择“连接到现存的”,将会弹出“连接”界面。

输入第一台计算机的名称,点击“连接”按钮,在“群集”下面将列出群集的IP地址,选择此IP地址,并点击“完成”按钮,连接群集即可完成。

以后,如果这两台服务器不能满足需求,可以按以上步骤添加第3台、第4台计算机到网络负载平衡中以满足要求。

篇2:Windows 网络负载均衡的实现

三、用IIS服务验证网络负载平衡

网络负载平衡配置好后,为了实现某项具体的服务,需要在网络负载平衡的计算机上安装相应的服务,例如:为了实现IIS网站的负载平衡,需要在相应的网络负载平衡的计算机上安装IIS服务。

安装网络负载平衡的应用程序时,不需要特别的方法,只需要在配置好网络负载平衡的计算机上安装相应的服务即可。但是为了让每个用户在通过网络负载平衡访问到不同的计算机时,能够访问到一致的数据,需要在网络负载平衡的每台计算机上保持数据的一致性。举例来说:实现了两个节点的IIS的网络负载平衡,为了保证两个网站内容的一致性,除了这两个IIS服务器的配置相同外,相应的网站数据必须一致。

为了检验网络负载平衡,我们可以通过IIS来进行验证,其他的一些应用如终端服务、Windows Media服务与IIS的应用相类似。

在网络负载平衡的每一台计算机上安装IIS服务,方法如下:

在“添加/删除程序”中,点击“添加Windows组件”,进入Windows组件向导,双击“应用程序服务器”,进入“应用程序服务器”。

选中ASP.NET、Internet信息服务及应用网络COM+访问后,即可开始安装IIS服务,

安装之后,进入第一台计算机的inetpub”wwwroot目录,新建一个文本文件,输入以下内容:

This win2003-1

然后将它保存为default.htm文件。这个网页在IE中将显示如下内容:

This w2003-1

在第二台计算机的inetpub“wwwroot目录,新建一个文本文件,并输入下面的内容:

This win2003-2

这个网页在IE浏览器中将显示“This w2003-2”,随后将这个文件以default.htm名称保存。

然后,在其他计算机上的IE浏览器中键入cluster.heinfo.edu.cn,将会显示为“This win2003-1”或“This win2003-2”,根据网络的负载,网络负载平衡会自动转发到第一台计算机或第二台计算机。为了验证效果,你可以在浏览的时候,拔掉第一台计算机的网线或拔掉第二台机器的网线,将会发现浏览到的将是不同内容。当然,我们只是测试的时候,为了验证网络负载平衡的效果,两个网站的内容不一致,而在正式应用的时候,网络负载平衡群集的每个节点计算机的内容将是一致的,这样,不管使用那一个节点响应,都保证访问的内容是一致的。

篇3:路由器实现线路负载均衡网络知识

目前实施网间连接时,常常采取双线路连接方式保证 网络 传输的 可靠性 和连续性,其中一条为主干线路,另一条为备份线路,如果单纯考虑线路备份势必使备份线路长期处于闲置状态。 为了保护已有的网络投资,充分利用网络资源,本文以Cisco路由器为例探讨如何

目前实施网间连接时,常常采取双线路连接方式保证网络传输的可靠性和连续性,其中一条为主干线路,另一条为备份线路。如果单纯考虑线路备份势必使备份线路长期处于闲置状态。为了保护已有的网络投资,充分利用网络资源,本文以Cisco路由器为例探讨如何基于策略路由、成本、热备份路由协议等实现线路间负载均衡的方法。

基于策略的线路负载均衡

策略是指网络管理员制定的路由器进行路由的约束条件。约束条件可以根据数据源的IP地址、数据包的大小、具体应用等因素制定,不同的约束条件指定不同的传输线路。路由器进行路由选择时将待转发的数据包同指定的约束条件依次进行比较、转发。当与所有约束条件匹配时按指定的路由将数据包发送出去或抛弃。通过将不同约束条件指定到不同的传输线路上达到线路负载均衡。

基于成本的线路负载均衡

内部网关协议(IGRP)和增强型的内部网关协议(EGRP)是Cisco公司的基于距离DD向量路由协议,通过这两个协议中任何一个都可以实现不等成本(或称开销)的线路负载均衡,

此处成本可以理解为从源节点到目的节点经历所有线路上的费用总和,影响其高低因素包括带宽、延迟、负载等,当带宽越高、延迟越小、负载越轻时线路费用就越少。

基于备份路由协议的负载均衡

HSRP使用组播、基于UDP的hello信号来实现与同一HSRP组内其他路由器间的通信。组内路由器根据指定端口优先级高低,分为主路由器(高优先级)和备份路由器(低优先级)。各路由器之间在默认或规定的时间间隔内交换hello信号,如果主路由器或所连线路变得无法使用,同组内的备份路由器进入激活状态,接管主路由器的路由任务达到线路的热备份。每一个HSRP组有一个活动HSRP IP地址,它属于整个HSRP组,可设置为本组连接的所有局域网设备的缺省网关,通过它将所连设备待转发的数据包沿活动路由器发送出去。

根据这个基本原理,可以将两台路由器分成相互热备份两个HSRP组,如下图组1和组2。组1中,A为主路由器,B为备份路由器。组2中,B为主路由器,A为备份路由器。局域网所有工作站分成两组,分别通过组1和组2进行数据转发。

当两台路由器及所连线路正常时,来自工作站A和B的数据包将分别有路由器A和路由器B转发。当其中某台路由器和所连线路出现故障,所有数据将都沿活动路由转发。

以上分别介绍了三种不同技术下实现网络线路负载均衡方法。三种方法不是相互独立相互排斥的关系,实际的应用可将不同方法综合,达到更加高效、实用的效果。

原文转自:www.ltesting.net

篇4:nginx实现mysql的负载均衡

nginx属于七层架构,支持的是http协议,本身对tcp协议没有支持,所以不能代理mysql等实现负载均衡。但是lvs这个东西不熟悉,主要是公司的的负载均衡都是nginx所以决定研究一下nginx的这个功能实现,下面简单介绍一下实现方法:

1.下载module模块

下载地址 : www.2cto.com/uploadfile//0908/20120908102658486.zip

$ wget 'nginx.org/download/nginx-1.2.1.tar.gz'

$ tar -xzvf nginx-1.2.1.tar.gz

$ cd nginx-1.2.1/

$ patch -p1 < /path/to/nginx_tcp_proxy_module/tcp.patch /path是指nginx_tcp_proxy_module路径

$ ./configure --add-module=/usr/local/ngx_cache_purge-1.4 --prefix=/usr/local/nginx --with-http_stub_status_module --add-module=/path/to/nginx_tcp_proxy_module //编译

$ make

$ make install

2、修改nginx配置文件:

http {

server {

listen 80;

location /status {

check_status;

}

}

}

tcp {

upstream mysql{

server 10.10.10.17:3306 weight=1;

server 10.10.10.18:3306 weight=1;

#check interval=3000 rise=2 fall=5 timeout=1000;

}

server {

listen 3306;

proxy_pass mysql;

}

}

这样就完成了配置,启动nginx进行测试,下面是测试中打印的log:

2012/09/07 18:22:32 [3921] 10.10.10.107 0.0.0.0:3306 2012/09/07 18:22:31 10.10.10.18:3306 1446 4383

2012/09/07 18:22:32 [3921] 10.10.10.107 0.0.0.0:3306 2012/09/07 18:22:32 10.10.10.17:3306 1446 4383

2012/09/07 18:22:33 [3921] 10.10.10.107 0.0.0.0:3306 2012/09/07 18:22:32 10.10.10.18:3306 1447 4383

2012/09/07 18:22:33 [3921] 10.10.10.107 0.0.0.0:3306 2012/09/07 18:22:33 10.10.10.17:3306 1445 4383

2012/09/07 18:22:34 [3921] 10.10.10.107 0.0.0.0:3306 2012/09/07 18:22:33 10.10.10.18:3306 1445 4383

2012/09/07 18:22:34 [3921] 10.10.10.107 0.0.0.0:3306 2012/09/07 18:22:34 10.10.10.17:3306 1446 4383

2012/09/07 18:22:35 [3921] 10.10.10.107 0.0.0.0:3306 2012/09/07 18:22:34 10.10.10.18:3306 1445 4383

Windows 网络负载均衡的实现2012/09/07 18:22:35 [3921] 10.10.10.107 0.0.0.0:3306 2012/09/07 18:22:35 10.10.10.17:3306 1445 4383

2012/09/07 18:22:36 [3921] 10.10.10.107 0.0.0.0:3306 2012/09/07 18:22:35 10.10.10.18:3306 1445 4383

2012/09/07 18:22:37 [3921] 10.10.10.107 0.0.0.0:3306 2012/09/07 18:22:36 10.10.10.17:3306 1446 4383

2012/09/07 18:22:37 [3921] 10.10.10.107 0.0.0.0:3306 2012/09/07 18:22:37 10.10.10.18:3306 1446 4383

2012/09/07 18:22:37 [3921] 10.10.10.107 0.0.0.0:3306 2012/09/07 18:22:37 10.10.10.17:3306 1445 4383

2012/09/07 18:22:38 [3921] 10.10.10.107 0.0.0.0:3306 2012/09/07 18:22:37 10.10.10.18:3306 1444 4383

2012/09/07 18:22:39 [3921] 10.10.10.107 0.0.0.0:3306 2012/09/07 18:22:38 10.10.10.17:3306 1445 4383

篇5:实现ISA防火墙网络负载均衡的故障转移

在部署了网络负载均衡(NLB)的网络中,当某个客户针对NLB虚拟地址发起连接请求时,NLB通过某种NLB算法来确定(通常是根据发起请求的客户端源地址来决定)为客户服务的NLB节点,在NLB节点没有变动之前,对于某个客户,将总是由某个对应的NLB节点为它提供服务。ISA防火墙企业版中的集成NLB依赖于Windows服务器系统的NLB服务,对于客户发起的请求,也是采用相同的方式进行处理。

例如,对于一个具有三个NLB节点(ISA1、ISA2、ISA3)的ISA防火墙NLB阵列,当一个客户(10.1.1.1)发起连接请求时,NLB通过NLB算法确定由ISA1为此客户服务;而当另外一个客户(10.1.1.2)发起连接时,NLB通过NLB算法确定由ISA2为此客户服务。在NLB节点没有变动时,客户10.1.1.1的连接请求将会始终通过NLB节点ISA1来进行处理;而客户10.1.1.2的连接请求则会始终通过NLB节点ISA2来进行处理。

当某个NLB节点出现故障时,NLB将在所有节点上重新进行汇聚,并重新根据NLB算法来确定为客户提供服务的NLB节点。例如,此时ISA1节点出现故障,无法再提供NLB服务;则NLB重新进行汇聚,如果客户10.1.1.1再发起连接请求,则就是ISA2或者ISA3来为它进行服务。

当NLB节点失效时,NLB可以让其他NLB节点来为客户提供服务。但是,如果NLB节点的NLB服务没有失效但是所提供的其他服务失效时,怎么办呢?

如下图所示,两台ISA防火墙属于相同的NLB阵列,分别通过不同的外部链路连接到Internet,并且对内部网络提供NLB服务。两台ISA防火墙允许内部网络中的用户通过自己来访问外部网络,正在为不同的客户提供服务;如果此时,ISA1上的外部链路突然断开,会出现什么情况呢?

此时,由于ISA1上的NLB服务并没有出现故障,所以NLB会认为ISA1仍然是有效的NLB节点,并且同样会分配客户给它。但是,由于外部链路断开,ISA1所服务的客户却不能再连接到Internet了。这当然就不能有效的实现网络负载均衡中的容错特性。

那么,出现这种情况时,该怎么办呢?

答案很简单,当出现这种情况时,停止ISA1上的NLB服务,这样,NLB会认为ISA1上的NLB服务已经失效,将重新汇聚NLB,并且重新分配客户。从而原来属于ISA1的客户可以通过仍然运行正常的ISA2来访问外部网络。

要实现ISA防火墙NLB的故障转移比较简单,微软已经考虑到了。你可以通过配置ISA防火墙的连接性验证工具来实现当外部链路出现故障时进行相关的操作,但是要停止ISA防火墙上的NLB服务不是一件容易的事情。由于ISA防火墙上的NLB服务是和ISA防火墙服务集成的,所以你不能通过Windows的NLB stop命令来停止ISA防火墙上的NLB服务;微软也没有相关的关于如何停止ISA防火墙上的NLB服务的说明。在这种情况下,只能通过停止ISA防火墙服务来停止ISA防火墙上的NLB服务。

但是停止ISA防火墙服务后,无法依靠ISA防火墙本身启动ISA防火墙服务,这样又给故障恢复时的处理带来难题。当外部链路恢复的时候,还是需要你手动启动ISA防火墙服务才能将这台ISA防火墙正常加入NLB阵列中运行,这造成了额外的管理负担。不过你可以通过第三方的链路监测软件实现NLB的故障转移和自动恢复,例如KS-Soft Advanced Host Monitor或者GFI Network Server Monitor。你可以配置它们当外部链路出现问题时停止ISA防火墙服务,而当外部链路恢复时启动ISA防火墙。

在此我给大家演示一下如何实现ISA防火墙NLB的故障转移,网络拓朴结构如下图所示:

内部网络地址范围为10.1.1.0/24,部署了两台ISA企业版防火墙Florence和Firenze,操作系统均为Windows server SP1,IP地址分别为10.1.1.1和10.1.1.2,

对内部网络配置了NLB,NLB虚拟地址为10.1.1.254,

两台ISA防火墙上的NLB服务均工作正常。

Berlin是内部网络中的客户,IP地址为10.1.1.8,默认网关配置为NLB的虚拟地址10.1.1.254。

我已经创建了允许内部网络的所有用户访问外部网络的访问规则,已经确认所有网络连接工作正常。在进行整个部署之前,你必须预先考虑好如何配置有效的连接性验证方式,以及什么时候触发警告。如果要验证外部链路是否连接正常,你可以Ping离你最近的外部网络中的某台持续在线的服务器或路由器的IP地址。在此我通过配置连接性验证工具Ping我的DNS服务器61.139.2.69实现,如果连续两次不能Ping通时,则停止ISA防火墙服务。

本文中的操作步骤如下:

配置连接性验证工具;

配置警告操作;

测试;

配置连接性验证工具

打开ISA管理控制台,展开阵列,点击监视节点,点击右边面板的连接性标签,最后点击创建新的连接性验证程序链接;

在弹出的欢迎使用新建连接性验证程序向导页,输入连接性验证程序的名称,在此我命名为Ping 61.139.2.69,点击下一步;

在连接性验证细节页,在监视到此服务器或 URL 的连接栏,输入IP地址为61.139.2.69,然后在验证方法栏,选择发送一个 Ping 请求,点击下一步;

注:关于连接性验证工具的使用及详细描述,请参见理解ISA 的连通性验证工具一文;

在正在完成连接性验证程序向导页,点击完成;

此时,我们的连接性验证工具就创建好了,如下图所示,验证结果均正常。

配置警告操作

接下来我们就需要配置当连接性验证工具出现无连接的警告时,停止ISA防火墙服务。在ISA防火墙管理控制台中点击警报标签,然后在右边的任务面板中点击配置警报定义链接;

在弹出的警报属性对话框,在列表中找到无连接警报,然后点击编辑按钮;

在弹出的无连接属性对话框,首先在常规标签确认它是启用的,

然后在事件标签,由于我想当连续两次出现无连接事件(即连续两次不能Ping通61.139.2.69)时触发警告,所以勾选发生次数,然后输入2,其他保持默认,点击操作标签,

在操作标签,勾选停止选择的服务,然后点击选择按钮;

在弹出的选择 ISA 服务器服务对话框,勾选Microsoft 防火墙,然后点击确定;

点击两次确定返回到ISA管理控制台,最后点击应用按钮保存修改和更新防火墙配置,并且等待直到所有ISA防火墙服务器完成配置的同步。

测试

我们现在在客户机Berlin上访问ISA中文站进行测试,访问成功。

ISA防火墙的实时日志如下图所示,可以清楚的看到,是由Firenze为它提供的服务。

现在,我们把Firenze上的外部链路断开,由于默认情况下连接性验证程序每30秒执行一次,所以等待大约1分钟后,你会发现Firenze上的ISA防火墙服务已经自动停止了,如果在Firenze上的ISA管理控制台的警告中查看,你可以看到触发了以下三个警告,如图所示。

现在我们在Berlin上试试继续访问呢,访问仍然成功。

但是,你可以从ISA防火墙的实时日志中看到,已经不是Firenze而是Florence为它提供的服务了。

至此,ISA防火墙NLB的故障转移就完全配置成功了。

篇6:Nginx负载均衡

nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查,

如果只有一台服务器时,这个服务器挂了,那么对于网站来说是个灾难.因此,这时候的负载均衡就会大显身手了,它会自动剔除挂掉的服务器.

下面简单的介绍下我使用Nginx做负载的体会

下载---安装Nginx这些不介绍了,前篇有介绍.

windows和Linux下配置Nginx负载的写法一样,故不分开介绍.

Nginx负载均衡一些基础知识:

nginx 的 upstream目前支持 4 种方式的分配

1)、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

2)、weight

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

2)、ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

3)、fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

4)、url_hash(第三方)

配置:

在http节点里添加:

#定义负载均衡设备的 Ip及设备状态

upstream myServer {

server 127.0.0.1:9090 down;

server 127.0.0.1:8080 weight=2;

server 127.0.0.1:6060;

server 127.0.0.1:7070 backup;

}

在需要使用负载的Server节点下添加

proxy_pass myServer;

upstream 每个设备的状态:

down 表示单前的server暂时不参与负载

weight 默认为1.weight越大,负载的权重就越大。

max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误

fail_timeout:max_fails 次失败后,暂停的时间。

backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

Nginx还支持多组的负载均衡,可以配置多个upstream 来服务于不同的Server.

配置负载均衡比较简单,但是最关键的一个问题是怎么实现多台服务器之间session的共享

下面有几种方法(以下内容来源于网络,第四种方法没有实践.)

1) 不使用session,换作cookie

能把session改成cookie,就能避开session的一些弊端,在从前看的一本J2EE的书上,也指明在集群系统中不能用session,否则惹出祸端来就不好办,

电脑资料

如果系统不复杂,就优先考虑能否将session去掉,改动起来非常麻烦的话,再用下面的办法。

2) 应用服务器自行实现共享

asp.net 可以用数据库或memcached来保存session,从而在asp.net本身建立了一个session集群,用这样的方式可以令 session保证稳定,即使某个节点有故障,session也不会丢失,适用于较为严格但请求量不高的场合。但是它的效率是不会很高的,不适用于对效率 要求高的场合。

以上两个办法都跟nginx没什么关系,下面来说说用nginx该如何处理:

3) ip_hash

nginx中的ip_hash技术能够将某个ip的请求定向到同一台后端,这样一来这个ip下的某个客户端和某个后端就能建立起稳固的session,ip_hash是在upstream配置中定义的:

upstream backend {

server 127.0.0.1:8080 ;

server 127.0.0.1:9090 ;

ip_hash;

}

ip_hash是容易理解的,但是因为仅仅能用ip这个因子来分配后端,因此ip_hash是有缺陷的,不能在一些情况下使用:

1/ nginx不是最前端的服务器。ip_hash要求nginx一定是最前端的服务器,否则nginx得不到正确ip,就不能根据ip作hash。譬如使用的是squid为最前端,那么nginx取ip时只能得到squid的服务器ip地址,用这个地址来作分流是肯定错乱的。

2/ nginx的后端还有其它方式的负载均衡。假如nginx后端又有其它负载均衡,将请求又通过另外的方式分流了,那么某个客户端的请求肯定不能定位到同一台session应用服务器上。这么算起来,nginx后端只能直接指向应用服务器,或者再搭一个squid,然后指向应用服务器。最好的办法是用 location作一次分流,将需要session的部分请求通过ip_hash分流,剩下的走其它后端去。

4) upstream_hash

为了解决ip_hash的一些问题,可以使用upstream_hash这个第三方模块,这个模块多数情况下是用作url_hash的,但是并不妨碍将它用来做session共享:

假如前端是squid,他会将ip加入x_forwarded_for这个http_header里,用upstream_hash可以用这个头做因子,将请求定向到指定的后端:

可见这篇文档:www.sudone.com/nginx/nginx_url_hash.html

在文档中是使用$request_uri做因子,稍微改一下:

hash  $http_x_forwarded_for;

这样就改成了利用x_forwarded_for这个头作因子,在nginx新版本中可支持读取cookie值,所以也可以改成:

hash  $cookie_jsessionid;

假如在php中配置的session为无cookie方式,配合nginx自己的一个userid_module模块就可以用nginx自发一个cookie,可参见userid模块的英文文档:

wiki.nginx.org/NginxHttpUserIdModule

另可用姚伟斌编写的模块upstream_jvm_route:code.google.com/p/nginx-upstream-jvm-route/

篇7:网络负载均衡功能的体现

不管是windows还是linux都会有支持网络负载均衡功能的软件或者是系统自带的模块等设置,那么对于一个企业,尤其是以网站为主的运营结构,更应该注意这方面的问题。现在,我们由一个方案的引入,来熟悉一下网络负载均很功能的知识吧。

目前企业使用的所谓“负载均衡服务器”,实际上它是应用系统的一种控制服务器,所有用户的请求都首先到此服务器,然后由此服务器根据各个实际处理服务器状态将请求具体分配到某个实际处理服务器中,对外公开的域名与IP地址都是这台服务器。负载均衡控制与管理软件安装在这台服务器上,这台服务器一般只做网络负载均衡功能的任务分配,但不是实际对网络请求进行处理的服务器。

一、企业实现Web服务器负载均衡

为了将负载均匀的分配给内部的多个服务器上,就需要应用一定的负载均衡策略。通过服务器负载均衡设备实现各服务器群的流量动态负载均衡,并互为冗余备份。并要求新系统应有一定的扩展性,如数据访问量继续增大,可再添加新的服务器加入负载均衡系统。

对于WEB服务应用,同时有几台机器提供服务,每台机器的状态可以设为regular(正常工作)或backup(备份状态),或者同时设定为regular状态。负载均衡设备根据管理员事先设定的负载算法和当前网络的实际的动态的负载情况决定下一个用户的请求将被重定向到的服务器。而这一切对于用户来说是完全透明的,用户完成了对WEB服务的请求,并不用关心具体是哪台服务器完成的。

二、使用网络地址转换实现多服务器负载均衡

支持网络负载均衡功能的地址转换网关中可以将一个外部IP地址映射为多个内部IP地址,对每次TCP连接请求动态使用其中一个内部地址,达到负载均衡的目的。很多硬件厂商将这种技术集成在他们的交换机中,作为他们第四层交换的一种功能来实现,一般采用随机选择、根据服务器的连接数量或者响应时间进行选择的负载均衡策略来分配负载。然而硬件实现的负载控制器灵活性不强,不能支持更优化的负载均衡策略和更复杂的应用协议。

基于网络地址转换的负载均衡器可以有效的解决服务器端的CPU和磁盘I/O负载,然而负载均衡器本身的性能受网络I/O的限制,在一定硬件条件下具有一定的带宽限制,但可以通过改善算法和提高运行负载均衡程序的硬件性能,来提高这个带宽限制。不同的服务类型对不同的服务器资源进行占用,我们使用的负载衡量策略是使用同一个负载进行评估,这对于大多数条件是适合的,然而最好的办法是针对不同的资源,如CPU、磁盘I/O或网络I/O等,分别监视服务器负载,由中心控制器选择最合适的服务器分发客户请求。

三、使用DNS服务器实现负载均衡

访问企业网服务器的用户急剧增加,一台服务器难以满足用户的访问需要,那么如何才能保证用户的正常访问呢?解决方法有很多,如使用Windows 或Windows Server 提供网络负载均衡功能,但该服务的设置非常复杂,

而通过DNS服务器实现网络负载均衡功能则是一种比较简单的方法。

企业网通常由很多子网构成,为了降低网络中的数据流量,客户机最好能访问处于同一子网内的Web服务器。虽然实现了网络负载均衡功能,但并不能保证客户访问的是本子网的Web服务器。其实这个问题也很好解决,只要启用DNS服务器的“启用网络掩码排序”功能即可。在DNS管理器窗口中,右键点击DNS服务器,在弹出的菜单中选择“属性”,然后在属性对话框中切换到“高级”选项卡,勾选“服务器选项”列表框中的“启用网络掩码排序”选项即可。这样客户机每次都能访问到本子网内的Web服务器了。完成以上设置后,就使DNS服务器实现了网络负载均衡功能,把客户的访问分担到每个Web服务器上,并且还减少了跨子网的网络通信流量,大大降低了企业网的通信负担。

四、企业实现SQL Server数据库服务器负载均衡

MS SQL Server数据库服务器可以说是应用范围最广的数据库产品,并且越来越多地在大型和比较关键的应用系统中提供服务。当企业应用越来越复杂、数据量越来越大的时候,SQL Server数据库要不停的进行处理、存储、查询的工作,这个时候企业就要考虑SQL Server数据库服务器的性能和速度及安全性了。然而,长期以来,SQL SERVER数据库服务器都只有“热备”的解决方案,而没有“负载均衡”和“集群”的解决方案。

随着数据库路由器软件ICX的出现,为基于MS SQL Server的数据库系统提供了一种更优秀的集群解决方案。它可以真正的实现SQL Server数据库服务器的动态负载均衡,提高性能和速度;它可以真正的保证SQL Server数据库服务器不间断的提供服务,在服务器发生故障的时候实时切换到其他服务器上继续提供服务,切换时间为“零”。数据库路由器是实时并发数据库事务处理同步复制器和负载平衡器。

所有的数据库客户都通过ICX访问数据库。当访问、查询SQL Server数据库的时候ICX可以根据实际情况分配服务器来提供服务,大大提高服务速度和优化性能,完成网络负载均衡功能的任务。ICX可以同时连接多台数据库,这若干台数据库的内容在任何时刻由ICX保证是完全一致的。也就是说,ICX采用了全新的并发事务处理的方式,向连接的N台数据库同步复制事务处理,使得系统在任何时刻具有多个一致的最新逻辑数据库数据集。当其中一台数据库服务器发生故障的时候,ICX可以实时的、第一时间切换到其他服务器上来继续提供服务。真正的实现零时间的服务器切换,大大提高安全性,真正意义的实现服务器不间断服务。

篇8:网络负载均衡的主控内容

在网络负载均衡的设定过程中,针对软件方面的设定,通常是分为客户端和主机端两方面的配置问题,那么,现在我们就来介绍一下主机方面的网络负载均衡的控制作用的内容。本例是根据windows系统来讲解的。

挂起或继续网络负载均衡

您可能需要挂起和继续网络负载均衡(NLB)以覆盖发出的任何远程控制命令。将忽略除resume和query之外的所有后续群集控制命令。可以在整个NLB群集上或在单个主机上执行以下步骤。

暂停或继续网络负载均衡

◆使用Windows界面

◆使用命令提示符窗口

使用Windows界面挂起或继续网络负载均衡的步骤

1.若要打开NLB管理器,请依次单击”开始“、”管理工具“和”网络负载均衡管理器“。还可以通过在命令提示符下键入Nlbmgr来打开NLB管理器。

2.如果NLB管理器尚未列出群集,请连接群集。

3.如果您希望暂停所有群集主机上的群集操作,请右键单击群集,指向”控制主机“,然后单击”挂起“。

如果您希望只暂停特定主机上的群集服务,请右键单击该主机,指向”控制主机“,然后单击”挂起“。

4.如果您希望继续所有群集主机上的群集操作,请右键单击群集,指向”控制主机“,然后单击”继续“,

如果您希望只启动特定主机上的群集服务,请右键单击该主机,指向”控制主机“,然后单击”继续“。

注意事项

◆使用网络负载均衡管理器(NLB)时,您必须是正在配置的主机上的Administrators组的成员,或者您必须被委派了适当的权限。如果您通过从不属于群集的计算机运行NLB管理器来配置群集或主机,则您不必是该计算机Administrator组的成员。

◆暂停NLB与停止处理NLB群集通讯不同,原因是暂停NLB不仅会停止主机上的NLB,而且还会暂停主机上的所有NLB群集控制命令(resume和query命令除外)。停止处理NLB群集通讯会停止主机上的NLB,但不影响其他NLB群集控制命令。

使用命令提示符窗口挂起或继续网络负载均衡的步骤

1.若要打开命令提示符窗口,请单击”开始“,右键单击”命令提示符“,然后单击”以管理员身份运行“或”打开"。

2.键入以下命令之一:

◆若要挂起该主机上的NLB,请键入:

nlb.exesuspend

或者,如果希望挂起所有群集主机上的群集操作,请键入:

nlb.exesuspendglobal

◆若要继续该主机上的NLB,请键入:

nlb.exeresume

或者,如果希望继续所有群集主机上的群集操作,请键入:

nlb.exeresumeglobal

篇9:网络负载均衡的相关基础(一)

谈及网络负载均衡,我们总是站在一个制高点上面来讨论它,的确,随着网络的复杂化,这项技术也是越来越重要,越来越不可缺少,那么我们是从何提出这个概念的呢?又是如何去应用它发展它呢?现在我们就带着问题来了解一下相关的信息吧,

负载均衡技术的引入

信息系统的各个核心部分随着业务量的提高、访问量和数据流量的快速增长,其处理能力和计算强度也相应增大,使得单一设备根本无法承担,必须采用多台服务器协同工作,提高计算机系统的处理能力和计算强度,以满足当前业务量的需求。而如何在完成同样功能的多个网络设备之间实现合理的业务量分配,使之不会出现一台设备过忙、而其他的设备却没有充分发挥处理能力的情况。要解决这一问题,可以采用负载均衡的方法。

负载均衡技术有两个方面的含义:首先,把大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间;其次,单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,再返回给用户,使得信息系统处理能力可以得到大幅度提高。

负载均衡主要完成以下任务:

解决网络拥塞问题,就近提供服务,实现地理位置无关性;

为用户提供更好的访问质量;

提高服务器响应速度;

提高服务器及其他资源的利用效率。

在用户端进行优化和在服务器端采用负载均衡策略可以在最大程度上确保网络信息的顺畅流通。

对一个网络负载均衡应用,可以从网络的不同层次入手,具体情况要看对网络瓶颈所在之处的具体情况进行分析。一般来说,企业信息系统的负载均衡大体上都从传输链路聚合、采用更高层网络交换技术和设置服务器集群策略三个角度实现。

链路聚合--低成本的解决方案

为了支持与日俱增的高带宽应用,越来越多的PC机使用更加快速的方法连入网络。而网络中的业务量分布是不平衡的,一般表现为网络核心的业务量高,而边缘比较低,关键部门的业务量高,而普通部门低。伴随计算机处理能力的大幅度提高,人们对工作组局域网的处理能力有了更高的要求。当企业内部对高带宽应用需求不断增大时(例如Web访问、文档传输及内部网连接),局域网核心部位的数据接口将产生瓶颈问题,因此延长了客户应用请求的响应时间。并且局域网具有分散特性,网络本身并没有针对服务器的保护措施,一个无意的动作,像不小心踢掉网线的插头,就会让服务器与网络断开。

通常,解决瓶颈问题采用的对策是提高服务器链路的容量,使其满足目前的需求。例如可以由快速以太网升级到千兆以太网。对于大型网络来说,采用网络系统升级技术是一种长远的、有前景的解决方案。然而对于许多企业,当需求还没有大到非得花费大量的金钱和时间进行升级时,使用升级的解决方案就显得有些浪费了。对于拥有许多网络教室和多媒体教室的普通中学和职业中学,在某些课程的教学期间(比如上传学生制作的网页等等),将产生大量访问Web服务器或进行大量的文档传输;或在县区级的网络信息网上举行优秀老师示范课教学、定期的教学交流等教学活动时,这种情况尤为突出。然而在需求还没有大到非得花费大量的金钱和时间进行升级时,实施网络的升级就显得大材小用了。在这种情况下,链路聚合技术为消除传输链路上的瓶颈与不安全因素提供了成本低廉的解决方案。链路聚合技术将多个线路的传输容量融合成一个单一的逻辑连接,

当原有的线路满足不了需求、而单一线路的升级又太昂贵或难以实现时,就可采用多线路的解决方案。

链路聚合系统增加了网络的复杂性,但也提高了网络的可靠性,使人们可以在服务器等关键局域网段的线路上采用冗余路由。对于计算机局域网系统,可以考虑采用虚拟路由冗余协议(VRRP)。VRRP可以生成一个虚拟缺省的网关地址,当主路由器无法接通时,备用路由器就会采用这个地址,使局域网通信得以继续。总之,当必需提高主要线路的带宽而又无法对网络进行升级的时候,便可以采用链路聚合技术。

高层交换--大型网络解决之道

大型的网络一般都是由大量专用技术设备组成的,如包括防火墙、路由器、第2层/3层交换机、负载均衡设备、缓冲服务器和Web服务器等。如何将这些技术设备有机地组合在一起,是一个直接影响到网络性能的关键性问题。大型网络的核心交换机一般采用高端的机柜式交换机,现在这类交换机一般都提供第四层交换功能,可以将一个外部IP地址映射为多个内部IP地址,对每次TCP连接请求动态使用其中一个内部地址,达到负载均衡的目的。有的协议内部支持与网络负载均衡相关的功能,例如HTTP协议中的重定向能力。 编辑推荐负载均衡技术基础专题

当前,无论在企业网、园区网还是在广域网上,即使按照当时最优配置建设的网络,业务量的发展都超出了过去..

化繁为简之网络负载均衡设置软硬两个角度学习网络负载均衡相关网络负载均衡的三方面概念从原理讲到实例,带你学习网络负载..交换方面的网络负载均衡设置

Web内容交换技术,即URL交换或七层交换技术,提供了一种对访问流量的高层控制方式。Web内容交换技术检查所有的HTTP报头,根据报头内的信息来执行负载均衡的决策,并可以根据这些信息来确定如何为个人主页和图像数据等内容提供服务。它不是根据 TCP端口号来进行控制的,所以不会造成访问流量的滞留。如果Web服务器已经为诸如图像服务、SSL对话和数据库事务服务之类的特殊功能进行了优化,那么,采用这个层次的流量控制将可以提高网络的性能。目前,采用高层交换技术的产品与方案,有许多专用的设备,如3Com公司的3Com SuperStack 3服务器负载均衡交换机和Cisco系统公司的CSS交换机产品等,国内的服务器厂商如联想和浪潮等也都有专用的负载均衡产品。

带均衡策略的服务器群集--满足大量并发访问的需求

随着电子商务和电子政务的开展,网上交易和访问量会明显增加。企业的日常经营和各种办公业务都往上迁移,所传送不仅是一般的文本信息,还有很多视频和语音。如远程教学方兴未艾,不少院校都在全国各地设立网络教学点,进行远程教学和在线辅导,各个站点都必须能够同网络教学中心进行实时交流,在这种情况下,势必也会产生大量并发访问,因此要求网络中心服务器必须具备提供大量并发访问服务的能力。这样,网络中心服务器的处理能力和I/O能力已经成为提供服务的瓶颈。如果客户的增多导致通信量超出了服务器能承受的范围,那么其结果必然是宕机。显然,单台服务器有限的性能不可能解决这个问题,一台普通服务器的处理能力只能达到每秒几万个到几十万个请求,无法在一秒钟内处理上百万个甚至更多的请求。但若能将10台这样的服务器组成一个系统,并通过软件技术将所有请求平均分配给所有服务器,那么这个系统就完全拥有每秒钟处理几百万个甚至更多请求的能力。这就是利用服务器群集实现网络负载均衡的优点。

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。