利用MBLB解决TCP长连接负载均衡测试方案

利用MBLB解决TCP长连接负载均衡测试方案
利用MBLB解决TCP长连接负载均衡测试方案

F5 BIGIP MBLB 测试记录

F5北京杨明非

2009年8月

目录

1. 测试环境 (3)

1.1 测试环境准备 (3)

1.2 测试网络拓扑 (3)

1.3 BIGIP MBLB工作原理: (4)

2. V10 MBLB 测试过程 (5)

2.1 TCP连接测试 (5)

2.2 交易分发测试 (6)

2.3 启动第二个客户端的连接建立过程及Timeout (8)

2.4 加入新的客户端观察负载均衡算法 (10)

2.5 手工Disable服务器测试 (12)

2.6 关闭服务器测试 (13)

2.7 V10 MBLB 测试总结 (14)

2.8 附:TCPdump数据包分析 (14)

3. One Connect工作模式测试 (16)

3.1 One Connect模式的工作原理 (17)

3.2 TCP连接测试 (17)

3.3 交易分发测试 (19)

3.4 启动第二个客户端的连接 (20)

3.5 启动多个客户端观察负载均衡算法 (22)

3.6 手工Disable 服务器测试 (25)

3.7 重新Enable服务器 (26)

3.8 关闭服务器测试 (29)

3.9 One Connect模式测试总结: (30)

4. 附录 (30)

4.1 如何使用iRules来判断交易边界 (30)

4.2 关于交易定向发送 (32)

4.3 关于会话保持 (32)

4.4 两种模式的对比 (33)

4.5 还需要研究的部分 (34)

1.测试环境

1.1测试环境准备

PC server一台,安装Windows 2003 Server.

BIGIP 1台,安装10.0.1版本

TCP Client/Server软件

1.2测试网络拓扑

所有的IP地址均在同一个网段内,TCP client 和Server也运行在同一台设备上。通过启动多个不同的实例来模拟多台Server和Client。

测试用BIGIP 配置

注意mblb的Profile是手工加入的,在图形界面里没有配置。另外对于这种类型的Server,最好使用tcp_half_open健康检查模式。

1.3 BIGIP MBLB工作原理:

客户端首先与BIGIP建立TCP连接,在客户端发送数据的时候,BIGIP根据交易将客

户端请求发送到不同的服务器,在发送前,BIGIP将与后台服务器建立连接。在这种工作模式下,可以支持同步阻塞模式交易或者同连接里的异步交易。

同步工作模式:

Client1 Request

Server1 Response

Client2 Request

Server2 Response

Client1 Request

Server2 Response

异步工作模式:

Client1 Request

Client2 Request

Client1 Request

Server1 Response

Server2 Response-

Server3 Response

在异步工作模式下,不能用下面测试的简单irules,需要使用iRules来判断每个交易的边界,以便将每笔交易请求分发到不同的服务器上。

下面的测试基于小包状态,也就是每笔交易的长度不超过1个MTU,通常情况下是1460字节的情况,在这种情况下,在一次CLIENT_DA TA事件触发的时候就可以接收到整个的交易请求或者交易回应。

2. V10 MBLB 测试过程

2.1TCP连接测试

首先启动两台Server,分别侦听9000和9001端口

确认在BIGIP里显示两台服务器都是工作的。

B conn显示没有任何的链接产生

启动客户端,配置好发送的内容,点击Connect

观察BIGIP上的连接状态:

在客户端没有发送数据之前,在BIGIP上只有一个Client-Any6的连接,此时客户端还没有发送数据,因此BIGIP与后台并不建立连接。

2.2交易分发测试

点击客户端上的发送按钮

观察客户端的收发状态

观察Server端收发状态

观察BIGIP上的连接状态

可以看到,在客户端开始发送数据后,BIGIP分别和两台Server建立了连接,并将客户端的请求以轮询的方式发送到两台服务器上。由于我在这里启用了SNAT,因此可以看到

第一个Server连接是使用的客户端源端口和服务器建立连接,第二个客户端连接使用的另外一个源端口和服务器建立连接。

2.3启动第二个客户端的连接建立过程及Timeout

启动第二个客户端建立连接

观察BIGIP状态

怎么没有Server端连接了呢?

看看Server端日志,原来由于俺写文章的时间太长,被BIGIP timeout了。

好,现在就让C2开始发送数据

看到Server端又开始建立连接了

BIGIP上的连接状态:

现在开始启动C1发送数据

C1的连接也被断掉了:

重新启动C1并连接

BIGIP上状况:

当C1开始发送数据的时候:

Server上的状态:

可以看到BIGIP针对每一个客户端连接,分别在每台Server上建立了同样数量的连接,

并将请求在这些连接里进行分发。

2.4加入新的客户端观察负载均衡算法

我们再启动C3, 看看有什么状况?

BIIGP

Server状态:

两台Server都收到了C3的请求

BIGIP上显示3个client connection, 6个Server connection:

在S2上收到的是C1和C2的请求

在S1上收到的是C1和C3的请求

停止所有的客户端,然后全部重新发送的时候,Server端接收发生了变化:S1上收到的是C1和C2的请求

S2上收到的是C1和C3的请求

应该是Round Robin的算法导致了这种现象的出现BIGIP上的连接没有发生变化:

2.5手工Disable服务器测试

现在手工Disable一台服务器

在S1上收到了3个客户端的请求

恢复disable的服务器:

S1收到了C1和C2的请求:

S2重新开始接受请求,收到C1和C3的请求

2.6关闭服务器测试

关闭S2

所有的Client 和Server都崩溃了!!!!!!!

等待服务器程序的改进版本中。。。。。。。。。。。。。

2.7V10 MBLB 测试总结

BIGIP V10 已经具备了MBLB的处理能力,可以对长连接里面的TCP交易进行拆分处理,将不同的请求发送到不同的服务器上,并将服务器的返回信息发送到正确的客户端。

目前发现的一些可能存在的问题:

1、对于每个客户端的长连接,BIGIP将在每个Server上建立一个连接,也就是说对

于每台Server而言,都会有所有的客户端连接数的总和数量的连接,在实际应

用中,需要确定服务器是否能处理全部客户端连接数量的连接数。

2、关于交易的边界定义,目前的测试中非常简单的使用了CLIENT_DATA和

SERVER_DATA事件,这两个事件默认情况下是每接收一个数据包就触发一次,

因此在交易小于1个MTU,通常情况是1460byte的情况下,可以不用区分交易边界,默认认为一个数据包就是一次交易。

3、如果每次发送交易的长度大于1460,就需要用irules去获取和判断交易的长度。

具体的做法是在第一个数据包进来的时候查询数据包中对于交易长度的定义,

然后判断当前收集到得数据是否是完整的交易,如果完整,则释放请求,如果

不完整,则继续进行收集,直到收集到足够的数据后,释放交易长度的内容到

服务器。

4、目前测试的应用时阻塞类型的应用,也就是Client必须等待Server应答之后才开

始发送下一个请求,而且数据包都比较小,肯定在一个packet就发送完毕,因

此不存在有边界界定的问题

5、如果有非阻塞型应用,也就是客户端可能一次发出多个请求,在不等待server

回应的情况下可以持续发出请求,Server回应也是不等待的情况,从目前的连接状况分析也是可以工作的。但可能需要进一步的编程处理来确定每一个交易的

边界

6、对于目前客户所要求的Disable服务器之后,所有的交易可以正常转发到其他服

务器的需求是可以满足的。

7、基本确认这种MBLB工作模式和One Connect在目前测试配置中不能同时工作,

因此当客户端关闭连接时,这个客户端对应的所有服务器连接都会被关闭。

8、从目前了解到得信息,One Connect工作模式下可以彻底的区分客户端连接和服

务器端连接的关系,但服务器端的连接数量在One Connect模式下无法控制。

9、由于测试服务器软件问题,没有测试到Server端主动关闭连接,是否会造成客

户端连接中断。另外,当一台server故障,而在健康检查还没有检查到服务器

故障期间的交易如何处理目前测试环境中也无法测试。我的初步考虑是用inband monitor来解决普通Monitor的间隔周期和检查周期的问题。

10、还没有测试会话保持的情况,比如根据每个交易里的一些内容进行会话保持,

还需要改进一下客户端和服务器软件

2.8附:TCPdump数据包分析

客户端数据包发送和接收

包25, 26, 27为三次握手建立连接

149开始,客户端发送数据PSH,ACK,

157为客户端收到一个BIGIP ACK,没有内容,表明Server已经收到客户端内容

159 BIGIP给客户端发送数据PSH,ACK

161 客户端给BIGIP发送ACK, 表明数据已经收到

163 客户端等待1000ms后开始下一个数据包发送

服务器端数据包发送和接收

152,153,154为BIGIP和后台服务器三次握手建立连接,结合客户端连接建立时间,可以看到BIGIP一直等待到客户端有数据发送了才开始和后台建立连接

155 BIGIP给服务器端发送数据PSH,ACK

158 服务器回应BIGIP数据PSH,ACK

160 BIGIP发送给服务器端ACK,表明数据已经收到

164 在1000ms以后,BIGIP重新开始给服务器端发送数据包。

数据流程图:

比较有意思的地方:

157和160看上去是BIGIP产生的主动发给客户端和服务器的ACK

161从客户端发给BIGIP,但被BIGIP吞掉了。

俺的TCP理论研究还不是很深刻,是不是一些协议性的东西导致必须这样工作?3.One Connect工作模式测试

在前面的测试中,MBLB可以支持异步交易,但在一些同步工作模式下,应用希望两边的连接不存在有太大的关联性,前面一种模式客户端连接一旦中断后,服务器端这个客户端相关连接会全部中断。通过One Connect工作模式,可以消除掉这种强制的绑定关系,而使服务器端的连接不会和客户端强制绑定。因此可以在客户端是长连接和短连接模式下,BIGIP始终保持和后台服务器是长连接的结构。

One Connect工作模式只支持同步阻塞模式下的TCP连接,即客户端必须等待Server 端回应请求之后,再发送下一个请求。每笔交易都是以Client Request->Server Response的方式工作。

和前面的MBLB工作模式最大的不同是One Connect可以在V9版本下工作。

测试的结构不变,但BIGIP上配置有一些变化

注意在VS里面必须绑定Oneconnect Profile

3.1One Connect模式的工作原理

在上图中是以HTTP协议为例,但实际上通过iRules,也可以支持任何协议类型,包括用户自行开发的TCP Socket应用。

当第一个client连接到BIGIP开始发送请求的时候,BIGIP会以这个client的源IP地址和后台服务器建立一个连接,并把客户端的Request转发到服务器。此时客户端连接和服务器的TCP连接形成了绑定的关系。当服务器响应了Response之后,由于BIGIP可以识别HTTP Response,因此,当BIGIP检查到服务器端的Response结束了之后,就拆除了第一个Client TCP连接和服务器TCP连接之间的对应关系。即使在客户端关闭连接的情况下,BIGIP 和后台服务器的TCP连接也保持Open的状态。

当下一个用户和BIGIP建立连接并发送请求的时候,BIGIP会在当前和后台服务器之间的TCP连接里面挑选一个空闲的连接(当然,还需要满足会话保持、负载均衡的算法的前提下),将第二个用户的Request塞到空闲的连接里面发送到服务器,这时,第二个用户的客户端连接和为第一个客户端建立的服务器连接就形成了新的对应关系。在第二个用户的Response结束之后,BIGIP又拆除其对应关系。

如果第三个用户连接和请求到达BIGIP的时候,第二个用户的Response并没有结束,也就是当前BIGIP和后台没有空闲连接的时候,BIGIP就会和服务器端再建立一个新的TCP 连接,传送第三个客户端的请求到服务器。

如果第四个用户连接和请求到达BIGIP的时候,第二个用户的Response传输完成了,第四个用户就会再使用空闲的后台服务器连接进行请求传输。

这样,当客户端不停的建立连接,拆除连接的时候,BIGIP始终可以保持较少的后台服务器连接。BIGIP在这里面完成的工作主要就是根据Response结束和新的用户请求到达的时刻点,来切换连接的不同连接对应关系。

3.2TCP连接测试

首先看看BIGIP上的VS状态,看加入了one connect rules之后是否会Disable CMP

看上去还好,CMP属于enable状态

启动S1

启动S2

启动客户端C1,并建立连接

BIGIP上的连接状态

此时在Server端也看不到任何连接

3.3交易分发测试

C1开始发送数据

S1上可以收到数据

S2上也可以收到数据

由于SNAT的原因,服务器收到的TCP 连接的源端口被改变了,但从数据包中可以看出,两台机器收到的是同一个客户端的同一个源端口发送过来的请求。

BIGIP上的连接状态:

有一个Server 端连接显示是idle状态

注意idle状态的连接随时间变化而变化的:

在两次执行b conn的过程中,idle状态的Server端连接就在发生变化。但请求是被分配到了两台Server上。从客户端的Log看,收到了两台Server的Response

3.4启动第二个客户端的连接

全局负载均衡解决方案

全局负载均衡解决方案 1 需求分析 无论用户的数据中心内部采用多么完善的冗余机制、安全防范工具以及先进的负载均衡技术,单个数据中心的运行方式仍然不能保证关键业务可以7*24不间断运行。 而为了满足处于全球范围内不同地点的用户在访问应用时可以具备相同的快速访问感受,单一的数据中心却完法实现。 基于以上两个最主要的原因,用户通过在不同物理位置构建多个数据中心的方式已经成为用户的必然选择。然而,在构建了多个数据中心后,如何通过有效手段实现多个数据中心间的协调工作,引导用户访问最优的站点,或者当某个站点出现灾难性故障后使用户仍然可以访问其他站点上的关键业务等问题成为用户最关注的问题。 2 Radware 全局负载均衡解决方案 Radware 的全局负载均衡解决方案能够帮助客户通过将相同服务内容布署在处于不同物理地点的多个数据中心中得到更高的可用性、性能、以及更加经济和无懈可击的安全性,以便在全球范围内的客户获得更快的响应时间。 Radware的全局负载均衡解决方案支持Radware 下一代APSolute OS 软件体系结构的全部功能,彻底解决了网络可用性、性能和安全问题,使得应用在多个数据中心中获得更高的灵敏并具有自适应性。配合Radware 的高速度、高容量ASIC芯片+NP处理器的专用硬件应用交换设备,可有效保障网络应用的高可用性、提升网络性能,加强安全性,全面提升IT服务器等网络基础设施的升值潜力。 结合Radware多年来在智能应用流量管理领域的经验,以及对用户实际需求的分析,我们认为负载均衡器应具备如下功能:

?能够通过唯一的IP地址或域名的方式作为所有提供相同服务的数据中心的逻辑入口点。 ?全局负载均衡交换机具有灵活的流量分配算法与机制,以确保用户总能访问可以为其提供最优服务的数据中心的内容。 ?通过部署高性能的负载均衡产品,能够及时发现各数据中心或数据中心内部的服务器的健康状况,当某个数据中心出现故障时,保证把后续用户的访问导向到正常运行的数据中心上。 ?针对基于会话的业务,可以提供多种会话保持机制,确保用户在处理业务时的连续性。避免将用户的相同会话的业务请求,分配到不同的数据中心而造成访问失败。 ?应具备安全过虑及防DOS/DDOS的功能,为服务器提供多一层安全保障 ?具有很好的升级与可扩展性,能够适应特定的和不断变化的业务需求。 2.1 方案拓扑图 2.2 AppDirector-Global实现全局及本地负载均衡 在全局及本地负载均衡方面,AppDirector-Global主要在网络中实现以下功能: 2.2.1 全局负载均衡策略 Radware支持多种全局负载均衡策略,能够通过唯一的IP地址或域名的方式作为所有提供相同服务的数据中心的逻辑入口点。根据用户的实际情况,可以选择其中以下的一种,也可以组合同时使用。

深信服负载均衡AD彩页解决方案

深信服应用交付AD 深信服,作为中国最大最有竞争力的前沿网络设备供应商,为3万多家客户提供了稳定可靠的访问,每秒钟经过深信服AD处理的业务交易量高达数千万笔,在中国入选世界500强的企业中,85%以上企业都是深信服的客户。 中国第一品牌 全球知名分析机构Frost & Sullivan发布的《2013年中国应用交付产品(ADC)市场分析报告》显示:深信服应用交付AD在2013年依然保持强劲增长,在中国市场占比中,超越Radware,升至第二,与F5再次缩小距离,并继续保持国产厂商第一的领导地位。 ④报告数据显示,Sangfor(深信服)2013年在中国地区应用交付市场 的份额达到14.1%,排名升至第二位。 ④自2009年推出到市场上以来,深信服AD产品由第九名一跃进入三 甲,在国产厂商中名列前茅。AD产品广泛应用于国家部委单位的核心 系统与电信运营商的生产网。 ④优异的市场表现,也促使深信服成为唯一入选Gartner应用交付魔力 象限的国产厂商,分析师对深信服产品的安全性评价尤为突出。 面向未来的应用交付产品 随着大数据时代的来临,即便是当前强劲的10Gbps性能设备在面对数十G业务量的并发处理时,也难免也会捉襟见肘。顺应网络发展的趋势,深信服AD系列产品采取基于原生64位系统的软硬架构设计,在确保高性能处理能力的同时,提供电信级的设备可靠性。 深信服AD可帮助用户有效提升 ?应用系统的处理性能与高可用性 ?多条ISP出口线路的访问通畅、均衡利用 ?分布式数据中心的全局调度、业务永续 ?业务应用的安全发布与高效访问 ④兼顾高性能与高稳定性的架构设计,原生64位内核OS,数据面与控制面相分离,确保软件系统的稳定高效。 ④非对称多处理架构发挥出多核硬件平台的极致性能,实现高达60Gbps的单机性能处理性能。 ④提供100Gbps 以上业务量的性能扩容方案,以满足运营商和金融行业对于扩展性与高可用性的追求。

负载均衡解决方案V1

负载均衡解决方案 公司:XX 日期:XX年XX月XX日

目录 1. 负载均衡概述 (3) 2. 项目现状 (3) 3. 项目需求分析 (4) 4. 项目解决方案 (4) 5. 负载均衡结构介绍 (7) 5.1. 负载均衡 (7) 5.2. 负载均衡实现设备[2] (8) 5.3. 负载均衡系统结构 (9) 5.3.1. 两层结构的负载均衡系统 (9) 5.3.2. 三层结构的负载均衡系统 (9) 5.4. 负载均衡实现的方法 (11) 6. Web服务器集群环境配置与测试 (11) 6.1. 搭建环境 (11) 6.1.1. 软硬件环境的搭建 (11) 6.1.2. 软件的安装与配置 (11) 6.2. 环境的测试 (13) 6.3. 集群系统负载均衡测试 (13) 6.4. 集群系统负载均衡测试分析 (13) 6.5. 本系统的不足之处 (14)

1.负载均衡概述 为了提高集群系统对用户的快速响应与整体吞吐量,必须采取一定的策略将Web访问均衡地分配到集群中的每一个服务器。基于此思想本文针对传统的单机思想给出了一种多机三层结构的负载均衡系统。实验结果表明了它在负载均衡方面的优越性。 Internet的快速增长,特别是电子商务应用的发展,使Web应用成为目前最重要最广泛的应用,Web服务器动态内容越来越流行。目前,网上信息交换量几乎呈指数增长,需要更高性能的Web服务器提供更多用户的Web服务,因此,Web服务器面临着访问量急剧增加的压力,对其处理能力和响应能力等带来更高的要求,如果Web 服务器无法满足大量Web访问服务,将无法为用户提供稳定、良好的网络应用服务。 由于客观存在的服务器物理内存、CPU 处理速度和操作系统等方面的影响因素,当大量突发的数据到达时,Web服务器无法完全及时处理所有的请求,造成应答滞后、请求丢失等,严重的导致一些数据包因延时而重发,使传输线路和服务器的负担再次增加。传统的方法是提高Web 服务器的CPU 处理速度和增加内存容量等硬件办法但无论如何增加Web 服务器硬件性能,均无法满足日益增加的对用户的访问服务能力。 面对日渐增加的Web 访问服务要求,必须对Web 服务器按一定策略进行负载分配。利用负载均衡[1]的技术,按照一定策略将Web 访问服务分配到几台服务器上,负载处理对用户透明,整体上对外如同一台Web 服务器为用户提供Web服务。 2.项目现状 本案例公司中现有数量较多的服务器群: ?WEB网站服务器 4台

几种负载均衡策略比较~

PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下。 一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术。具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的;大型网站或重要的服务,且服务器比较多时,可以考虑用LVS。一种是通过硬件来进行进行,常见的硬件有比较昂贵的F5和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用;另外一种就是类似于Nginx/LVS/HAProxy的基于Linux的开源免费的负载均衡软件,这些都是通过软件级别来实现,所以费用非常低廉。 目前关于网站架构一般比较合理流行的架构方案:Web前端采用 Nginx/HAProxy+Keepalived作负载均衡器;后端采用MySQL数据库一主多从和读写分离,采用LVS+Keepalived的架构。当然要根据项目具体需求制定方案。 下面说说各自的特点和适用场合。 一、Nginx Nginx的优点是: 1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构,它的正则规则比HAProxy更为强大和灵活,这也是它目前广泛流行的主要原因之一,Nginx单凭这点可利用的场合就远多于LVS了。 2、Nginx对网络稳定性的依赖非常小,理论上能ping通就就能进行负载功能,这个也是它的优势之一;相反LVS对网络稳定性依赖比较大,这点本人深有体会; 3、Nginx安装和配置比较简单,测试起来比较方便,它基本能把错误用日志打印出来。LVS的配置、测试就要花比较长的时间了,LVS对网络依赖比较大。 3、可以承担高负载压力且稳定,在硬件不差的情况下一般能支撑几万次的并发量,负载度比LVS相对小些。 4、Nginx可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点,不过其中缺点就是不支持url来检测。比如用户正在上传一个文件,而处理该上传的节点刚好在上传过程中出现故障,Nginx会把上传切到另一台服务器重新处理,而LVS就直接断掉了,如果是上传一个很大的文件或者很重要的文件的话,用户可能会因此而不满。 5、Nginx不仅仅是一款优秀的负载均衡器/反向代理软件,它同时也是功能强大的Web应用服务器。LNMP也是近几年非常流行的web架构,在高流量的环境中稳定性也很好。 6、Nginx现在作为Web反向加速缓存越来越成熟了,速度比传统的Squid服务器更快,可以考虑用其作为反向代理加速器。 7、Nginx可作为中层反向代理使用,这一层面Nginx基本上无对手,唯一可以对比

数据库负载均衡解决方案

双节点数据库负载均衡解决方案 问题的提出? 在SQL Server数据库平台上,企业的数据库系统存在的形式主要有单机模式和集群模式(为了保证数据库的可用性或实现备份)如:失败转移集群(MSCS)、镜像(Mirror)、第三方的高可用(HA)集群或备份软件等。伴随着企业的发展,企业的数据量和访问量也会迅猛增加,此时数据库就会面临很大的负载和压力,意味着数据库会成为整个信息系统的瓶颈。这些“集群”技术能解决这类问题吗?SQL Server数据库上传统的集群技术 Microsoft Cluster Server(MSCS) 相对于单点来说Microsoft Cluster Server(MSCS)是一个可以提升可用性的技术,属于高可用集群,Microsoft称之为失败转移集群。 MSCS 从硬件连接上看,很像Oracle的RAC,两个节点,通过网络连接,共享磁盘;事实上SQL Server 数据库只运行在一个节点上,当出现故障时,另一个节点只是作为这个节点的备份; 因为始终只有一个节点在运行,在性能上也得不到提升,系统也就不具备扩展的能力。当现有的服务器不能满足应用的负载时只能更换更高配置的服务器。 Mirror 镜像是SQL Server 2005中的一个主要特点,目的是为了提高可用性,和MSCS相比,用户实现数据库的高可用更容易了,不需要共享磁盘柜,也不受地域的限制。共设了三个服务器,第一是工作数据库(Principal Datebase),第二个是镜像数据库(Mirror),第三个是监视服务器(Witness Server,在可用性方面有了一些保证,但仍然是单服务器工作;在扩展和性能的提升上依旧没有什么帮助。

深信服智能DNS全局负载均衡解决方案

智能DNS全局负载均衡解决方案 ——深信服AD系列应用交付产品 背景介绍 在数据大集中的趋势下,多数组织机构都建立了统一运维的数据中心。考虑到单 一数据中心在遭遇到不抗拒的因素(如火灾、断电、地震)时,业务系统就很有 可能立即瘫痪,继而造成重大损失,因此很多具有前瞻性的组织机构都在建设多 数据中心以实现容灾。那么如何充分利用多个数据中心的资源才能避免资源浪 费?如何在一个数据出现故障时,将用户引导至正常的数据中心?在多个数据中 心都健康的情况下如何为用户选择最佳的数据中心? 问题分析 随着组织的规模扩大,用户群体和分支机构分布全国乃至全球,这一过程中组织对信息化应用系统的依赖性越来越强。对于企事业单位而言,要实现业务完整、快速的交付,关键在于如何在用户和应用之间构建的高可用性的访问途径。 跨运营商访问延迟-由于运营商之间的互连互通一直存在着瓶颈问题,企业在兴建应用服务器时,若只采用单一运营商的链路来发布业务应用,势必会造成其他运营商的用户接入访问非常缓慢。在互联网链路的稳定性日益重要的今天,通过部署多条运营商链路,有助于保证应用服务的可用性和可靠性。 多数据中心容灾-考虑到单数据中心伴随的业务中断风险,以及用户跨地域、跨运营商访问的速度问题,越来越多组织选择部署同城/异地多数据中心。借助多数据中心之间的冗余和就近接入机制,以保障关键业务系统的快速、持续、稳定的运行。

深信服解决方案 智能DNS全局负载均衡解决方案,旨在通过同步多台深信服AD系列应用交付设备,以唯一域名的方式将多个数据中心对外发布出去,并根据灵活的负载策略为访问用户选择最佳的数据中心入口。 用户就近访问 ④支持静态和动态两种就近性判断方法,保障用户在访问资源时被引导至最合适的数据中心 ④通过对用户到各站点之间的距离、延时、以及当前数据中心的负荷等众多因素进行分析判断 ④内置实时更新的全球IP地址库,进一步提高用户请求就近分配的准确性,避免遭遇跨运营商访问 站点健康检查 ④对所有数据中心发布的虚拟服务进行监控,全面检查虚拟服务在IP、TCP、UDP、应用和内容等所有协议 层上的工作状态 ④实时监控各个数据中心的运行状况,及时发现故障站点,并相应地将后续的用户访问请求都调度到其他的 健康的数据中心 入站流量管理 ④支持轮询、加权轮询、首个可用、哈希、加权最小连接、加权最少流量、动态就近性、静态就近性等多种 负载均衡算法,为用户访问提供灵活的入站链路调度机制 ④一旦某条链路中断仍可通过其它链路提供访问接入,实现数据中心的多条出口链路冗余 方案价值 ④合理地调度来自不同用户的入站访问,提升对外发布应用系统的稳定性和用户访问体验 ④多个数据中心之间形成站点冗余,保障业务的高可用性,并提升各站点的资源利用率 ④充分利用多条运营商链路带来的可靠性保障,提升用户访问的稳定性和持续性

负载均衡解决方案设计设计

一、用户需求 本案例公司中现有数量较多的服务器群: WEB网站服务器 4台 邮件服务器 2台 虚拟主机服务器 10台 应用服务器 2台 数据库 2台(双机+盘阵) 希望通过服务器负载均衡设备实现各服务器群的流量动态负载均衡,并互为冗余备份。并要求新系统应有一定的扩展性,如数据访问量继续增大,可再添加新的服务器加入负载均衡系统。 二、需求分析 我们对用户的需求可分如下几点分析和考虑: 1.新系统能动态分配各服务器之间的访问流量;同时能互为冗余,当其中 一台服务器发生故障时,其余服务器能即时替代工作,保证系统访问的 不中断; 2.新系统应能管理不同应用的带宽,如优先保证某些重要应用的带宽要 求,同时限定某些不必要应用的带宽,合理高效地利用现有资源;

3.新系统应能对高层应用提供安全保证,在路由器和防火墙基础上提供了 更进一步的防线; 4.新系统应具备较强的扩展性。 o容量上:如数据访问量继续增大,可再添加新的服务器加入系统; o应用上:如当数据访问量增大到防火墙成为瓶颈时,防火墙的动态负载均衡方案,又如针对链路提出新要求时关于Internet访问 链路的动态负载均衡方案等。 三、解决方案 梭子鱼安全负载均衡方案总体设计 采用服务器负载均衡设备提供本地的服务器群负载均衡和容错,适用于处在同一个局域网上的服务器群。服务器负载均衡设备带给我们的最主要功能是:

当一台服务器配置到不同的服务器群(Farm)上,就能同时提供多个不同的应用。可以对于每个服务器群设定一个IP地址,或者利用服务器负载均衡设备的多TCP端口配置特性,配置超级服务器群(SuperFarm),统一提供各种应用服务。

链路负载均衡解决方案

Array Networks 链路负载均衡解决方案 -Array APV系列、AppVelocity应用于企业网络优化

目录 1. 多链路接入背景介绍 (3) 1.1 单链路接入单点故障 (3) 1.2 运营商之间互访 (4) 1.3 双链路解决方案的产生以及其衍生的问题 (4) 2. Array 提供最佳的解决方案 (6) 2.1 方案介绍 (6) 2.2 流出(Outbound)流量处理 (7) 2.3 其它重要功能设置: (8) 2.4 流入(Inbound)流量处理 (8) 3. 解决方案功能特点介绍 (10) 3.1. 全面的链路监控能力 (10) 3.2. 全路经健康检查 (10) 3.3. 策略路由 (11) 3.4. APV-LLB的链路负载均衡解决方案具有以下功能和优点: (11) 3.5. 链路优化功能与其他应用性能提高功能 (11) 3.5.1. Http 压缩功能 (11) 3.5.2. Cache 功能 (11) 3.5.3. Connection Multiplexing(连接复用)技术 (12) 3.5.4. Connection Pooling(连接池)技术 (12) 3.5.5. Array SpeedStack?技术 (12) 3.6. 安全防护功能 (13) 3.7. Cluster技术 (13) 3.8. Array APV 配置管理 (14) 3.9. 可扩展性 (14) 3.9.1. 服务器负载均衡与广域网负载均衡 (14) 3.9.2. 扩展的SSL加速适用于电子商务 (14) 4. 链路负载均衡对企业的价值 (14)

A10服务器负载均衡解决方案解读

1SJ tit works ***** 单位 A10负载均衡解决方案 A10 Networks Inc. 1SJ tit works

目录 1.项目概述 (1) 2.需求分析及讨论 (1) 2.1应用系统所面临的共性问题 (1) 2.2需求分析 (2) 3.A10公司负载均衡解决方案 (3) 3.1网络结构图 (3) 3.2A10负载均衡解决方案 (3) 3.2.1APP Server负载均衡的实现 (4) 3.2.2应用优化的实现 (4) 3.3解决方案说明 (5) 3.4方案的优点 (6) 4.A10 AX的优点及各型号指标总结 (7) 5.A10公司简介 (7) 6.AX介绍 (8) 6.1 A10公司AX简介 (8) AX系列功能 (8)

1. 项目概述 2. 需求分析及讨论 2.1应用系统所面临的共性问题 随着用户量增大及业务的发展,一个应用系统往往会出现各种问题。瓶颈可能出现在服务器、存储、网络设备,带宽等的性能不足,而运行一旦出现故障给业务带来的影响范围是巨大的,服务器可能出现的问题表现为如下几点: ?高可用问题 关健性应用要求7*24稳定运行不被中断,高可用性问题被放在首要位置。 ?利用“不平衡”现象 数据的大集中使得服务器的访问压力日益增大,服务器性能往往会成为一个系统的瓶颈,随着性能问题的产生,单点故障的发生也将比较频繁,为了解决这些问题,传统的方式多为采取更换更好的服务器并且采用双机备份系统提供服务的方式,这样必然存在 一半的资源浪费的情况,而在压力不断上升的情况下,这种动作讲不断的重复,不但服务器的利用率不平衡,而且持续引起投资的浪费。 ?“峰值”问题 服务器的处理多存在“波峰”和“波谷”的变化。而且“波峰”时,业务量大小的变化又不规律,这就使服务器不得不面对“峰值堵塞”问题。原有解决方法为增加服务器或主机数量,提高处理能力。但仍存在性能不平衡问题,且这样做,投资成本大。 ?多米诺”现象 单台服务器的设置,不可避免会出现“单点故障”,需要进行服务器“容错”。为实现容错,往往在主服务器旁安置一台或多台备份服务器。但这样做,平时只有一台服务器工作,其它服务器处于空闲状态,无法完全利用所有服务器的处理资源,当出现“峰值堵塞”时,“多米 诺”效应往往会发生,即所有服务器连续被“堵”至“死”。最终的结果将导致系统的瘫痪。 ?“扩展”不便 随着物理和应用的集中,服务器上所要处理的数据量(traffic )增大,客户交易产生

思科负载均衡的配置实例

1.负载均衡的介绍 软/硬件负载均衡 软件负载均衡解决方案,是指在一台或多台服务器相应的操作系统上,安装一个或多个附加软件来实现负载均衡,如DNS 负载均衡等。它的优点是基于特定环境、配置简单、使用灵活、成本低廉,可以满足一般的负载均衡需求。硬件负载均衡解决方案,是直接在服务器和外部网络间安装负载均衡设备,这种设备我们通常称之为负载均衡器。由于专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。一般而言,硬件负载均衡在功能、性能上优于软件方式,不过成本昂贵。[1] 本地/全局负载均衡 负载均衡从其应用的地理结构上,分为本地负载均衡和全局负载均衡。本地负载均衡是指对本地的服务器群做负载均衡,全局负载均衡是指在不同地理位置、有不同网络结构的服务器群间做负载均衡。本地负载均衡能有效地解决数据流量过大、网络负荷过重的问题,并且不需花费昂贵开支购置性能卓越的服务器,可充分利用现有设备,避免服务器单点故障造成数据流量的损失。有灵活多样的均衡策略,可把数据流量合理地分配给服务器群内的服务器,来共同负担。即使是再给现有服务器扩充升级,也只是简单地增加一个新的服务器到服务群中,而不需改变现有网络结构、停止现有的服务。全局负载均衡,主要用于在一个多区域拥有自己服务器的站点,为了使全球用户只以一个IP地址或域名就能访问到离自己最近的服务器,从而获得最快的访问速度,也可用于子公司分散站点分布广的大公司通过Intranet (企业内部互联网)来达到资源统一合理分配的目的。 更高网络层负载均衡 针对网络上负载过重的不同瓶颈所在,从网络的不同层次入手,我们可以采用相应的负载均衡技术来解决现有问题。更高网络层负载均衡,通常操作于网络的第四层或第七层。第四层负载均衡将一个Internet上合法注册的IP地址,映射为多个内部服务器的IP地址,对每次TCP连接请求动态使用其中一个内部IP地址,达到负载均衡的目的。第七层负载均衡控制应用层服务的内容,提供了一种对访问流量的高层控制方式,适合对HTTP服务器群的应用。第七层负载均衡技术通过检查流经的HTTP报头,根据报头内的信息来执行负载均衡任务。 [编辑本段] 网络负载平衡的优点 1、网络负载平衡允许你将传入的请求传播到最多达32台的服务器上,即可以使用最多32台服务器共同分担对外的网络请求服务。网络负载平衡技术保证即使是在负载很重的情况下它们也能作出快速响应。 2、网络负载平衡对外只须提供一个IP地址(或域名)。 3、如果网络负载平衡中的一台或几台服务器不可用时,服务不会中断。网络负载平衡自动检测到服务器不可用时,能够迅速在剩余的服务器中重新指派客户机通讯。此保护措施能够帮助你为关键的业务程序提供不中断的服务。可以根据网络访问量的增多来增加网络负载平衡服务器的数量。 4、网络负载平衡可在普通的计算机上实现。在Windows Server 2003中,网络负载平衡的应用程序包括Internet信息服务(IIS)、ISA Server 2000防火墙与代理服务器、VPN虚拟专用网、终端服务器、Windows Media Services(Windows视频点播、视频广播)等服务。同时,网络负载平衡有助于改善你的服务器性能和可伸缩性,以满足不断增长的基于Internet 客户端的需求。

(完整版)F5服务器负载均衡解决方案要点

F5服务器负载均衡解决方案 目录 一.大量数据处理所面临的问题 (2) 1.目前存在隐患 (3) 2.应用系统问题综述 (3) 1)“峰值”问题 (4) 2)多米诺”现象 (4) 3)“N+1”方式 (4) 4)“扩展”不便 (5) 5)“免疫力”差 (5) 6)“容灾”.................................................................................... 错误!未定义书签。 7)应用与网络脱节 (6) 二.F5解决方案 (6) 2.1 网络结构 (6) 2.2 方案优势 (7) 2.2.1避免“不平衡”现象 (7) 2.2.2解决因“峰值堵塞”带来的性能调整“不平衡” (9) 2.2.3避免“多米诺”现象 (9) 2.2.4更好的提供系统容错,提高系统可靠性 (10) 2.2.5“扩展”灵活 (11) 2.2.6“免疫力”强 (12) 2.2.7“容灾” (13) 2.2.8网络感知应用,应用控制网络 (14) 三.相关技术资料 (17) BIG-IP提供支持99.999%的正常运行 (17) 四.成功案例 (19) F5为中国某税务机关提供高可用性解决方案 (19)

一.大量数据处理所面临的问题 在现今的企业中,不论是否提供关键性任务的服务,都需要一个持续运行不断的高可用性网络计算环境以维持不间断的高品质服务。所谓高可用性的环境,也是信息管理人员所必须考虑的四件事: 1.使数据有一个安全的存储和运作方式,即使在设备故障时仍能保持数据的完整 一致。 2.使服务器系统持续运行,即使发生故障仍然让服务持续下去。 3.使整个计算环境能更好的管理,如何容错、容灾、集群共享。 4.如何使投资有最好的效益,使系统有最佳的扩充能力,有最低的整体拥有成本, 也就是在任何情况之下均能确保数据的完整一致,系统持续运行,使服务不间 断,同时有最好的投资回报率。 高可用性被定义为计算系统的连续运行。根据故障停机的业务影响,应用系统需要不同的可用性水平。要想实现一个应用系统的高可用性,所有组件(包括应用和数据库服务器、存储设备以及端到端网络)都需要提供连续的服务。 企业和机构对网络化应用及Internet 的日益依赖,加上语音和数据的集成,创造了对高可用性应用的增加需求。任何类型的系统故障停机都可能意味着收入、信誉和客户满意的巨大损失。 高度网络可用性的利用,企业实施高可用性网络来: ?防止财务损失 ?防止生产力损失 ?改进用户满意度 ?改进客户满意/信任 ?降低反应性IT支持成本,提高IT生产力 ?部署关键任务应用支持新业务实践的好处 ?典型的业务要求 为了实现高度的网络可用性,需要部署下列组件:

负载均衡软件实现与硬件实现方案

该文档是word2003—word2007兼容版 软件、硬件负载均衡部署方案 目录 1、硬件负载均衡之F5部署方案 (2) 1.1网络拓扑结构 (2) 1.2反向代理部署方式 (3) 2软件负载均衡方案 (4) 2.1负载均衡软件实现方式之一- URL重定向方式 (4) 2.2负载均衡软件实现方式之二- 基于DNS (5) 2.3负载均衡软件实现方式之三- LVS (8) 2.4负载均衡软件实现方式之四- 专业负载均衡软件 (16) 总结: (16)

1、硬件负载均衡之F5部署方案 对于所有的对外服务的服务器,均可以在BIG-IP上配置Virtual Server实现负载均衡,同时BIG-IP可持续检查服务器的健康状态,一旦发现故障服务器,则将其从负载均衡组中摘除。 BIG-IP利用虚拟IP地址(VIP由IP地址和TCP/UDP应用的端口组成,它是一个地址)来为用户的一个或多个目标服务器(称为节点:目标服务器的IP地址和TCP/UDP应用的端口组成,它可以是internet的私网地址)提供服务。因此,它能够为大量的基于TCP/IP的网络应用提供服务器负载均衡服务。根据服务类型不同分别定义服务器群组,可以根据不同服务端口将流量导向到相应的服务器。BIG-IP连续地对目标服务器进行L4到L7合理性检查,当用户通过VIP请求目标服务器服务时,BIG-IP根椐目标服务器之间性能和网络健康情况,选择性能最佳的服务器响应用户的请求。如果能够充分利用所有的服务器资源,将所有流量均衡的分配到各个服务器,我们就可以有效地避免“不平衡”现象的发生。 利用UIE+iRules可以将TCP/UDP数据包打开,并搜索其中的特征数据,之后根据搜索到的特征数据作相应的规则处理。因此可以根据用户访问内容的不同将流量导向到相应的服务器,例如:根据用户访问请求的URL将流量导向到相应的服务器。 1.1网络拓扑结构 网络拓扑结构如图所示:

软件负载均衡优缺点总结

(总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解 PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下。 一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术。具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的;大型网站或重要的服务,且服务器比较多时,可以考虑用LVS。一种是通过硬件来进行进行,常见的硬件有比较昂贵的F5和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用;另外一种就是类似于Nginx/LVS/HAProxy的基于Linux的开源免费的负载均衡软件,这些都是通过软件级别来实现,所以费用非常低廉。 目前关于网站架构一般比较合理流行的架构方案:Web前端采用 Nginx/HAProxy+Keepalived作负载均衡器;后端采用MySQL数据库一主多从和读写分离,采用LVS+Keepalived的架构。当然要根据项目具体需求制定方案。 下面说说各自的特点和适用场合。 Nginx的优点是: 1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构,它的正则规则比HAProxy更为强大和灵活,这也是它目前广泛流行的主要原因之一,Nginx单凭这点可利用的场合就远多于LVS了。 2、Nginx对网络稳定性的依赖非常小,理论上能ping通就就能进行负载功能,这个也是它的优势之一;相反LVS对网络稳定性依赖比较大,这点本人深有体会; 3、Nginx安装和配置比较简单,测试起来比较方便,它基本能把错误用日志打印出来。LVS的配置、测试就要花比较长的时间了,LVS对网络依赖比较大。 3、可以承担高负载压力且稳定,在硬件不差的情况下一般能支撑几万次的并发量,负载度比LVS相对小些。 4、Nginx可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点,不过其中缺点就是不支持url来检测。比如用户正在上传一个文件,而处理该上传的节点刚好在上传过程中出现故障,Nginx会把上传切到另一台服务器重新处理,而LVS就直接断掉了,如果是上传一个很大的文件或者很重要的文件的话,用户可能会因此而不满。 5、Nginx不仅仅是一款优秀的负载均衡器/反向代理软件,它同时也是功能强大的Web应用服务器。LNMP也是近几年非常流行的web架构,在高流量的环境中稳定性也很好。 6、Nginx现在作为Web反向加速缓存越来越成熟了,速度比传统的Squid服务器

F5多出口链路负载均衡解决方案

F5 Networks 多出口链路负载均衡解决方案建议

目录 一.多出口链路负载均衡需求分析 (3) 二.多出口链路负载均衡解决方案概述 (4) 2.1多出口链路负载均衡网络拓朴设计 (4) 2.2方案描述 (5) 2.3方案优点 (7) 2.3.1 拓扑结构方面 (7) 2.3.2安全机制方面 (7) 三.技术实现 (8) 3.1F5多出口链路负载均衡(产品选型:B IGIP LC) (8) 3.2O UTBOUND流量负载均衡实现原理 (10) 3.3I NBOUND流量负载均衡实现原理 (11) 3.4在链路负载均衡环境中的DNS设计和域名解析方式 (13) 3.4.1 Root DNS(注册DNS)直接与F5多链路负载均衡器配合 (13) 3.4.2 Root DNS(注册DNS)通过第三方DNS Server与F5多链路负载均衡器配合(我们 建议这种方式) (14) 3.5F5设备双机冗余----毫秒级切换原理 (16) 3.6S TATEFUL F AIL O VER 技术(与F5设备双机冗余有关) (17) 四.产品介绍 (18) 4.1F5B IGIP (18)

一.多出口链路负载均衡需求分析 为了保证XXXX出口链路的高可用性和访问效率,计划拥有两条线路:一条中国网通链路,一条中国电信链路。F5公司的多链路负载均衡设备(Bigip)能够提供独具特色的解决方案,不但能够充分利用这两条链路(双向流量按照预设的算法分担到不同的链路上,一旦一条链路不通的情况下,能够无缝切换到另外一条可用链路上);而且可以根据对不同链路的侦测结果,将最快速的链路提供给外部用户进行响应,从而解决目前广泛存在的多个ISP之间的互联互通问题。具体解决方案特色如下: ?提供网至internet流量的负载均衡(Outbound) ?实现从Internet对服务器访问流量的负载均衡(Inbound) ?支持自动检测和屏蔽故障Internet链路 ?支持多种静态和动态算法智能均衡多个ISP链路的流量 ?支持多出口链路动态冗余,流量比率和切换 ?支持多种DNS解析和规划方式,适合各种用户网络环境 ?支持Layer2-7交换和流量管理控制功能 ?完全支持各种应用服务器负载均衡,防火墙负载均衡 ?多层安全增强防护,抵挡黑客攻击 ?业界领先的双机冗余切换机制,能够做到毫秒级切换 ?详细的链路监控报表,提供给网络管理员直观详细的图形界面 ?对于用户完全透明 ?对所有应用无缝支持

负载均衡软件实现方式

负载均衡软件实现方式之一- URL重定向方式 有一种用软件实现负载均衡的方式,是基于"URL重定向"的. 先看看什么是URL重定向: "简单的说,如果一个网站有正规的URL和别名URL,对别名URL进行重定向到正规URL,访问同一个网址,或者网站改换成了新的域名则把旧的域名重定向到新的域名,都叫URL 重定向" (https://www.360docs.net/doc/cb18835500.html,/service/host_faq.php) "很多网络协议都支持“重定向”功能,例如在HTTP协议中支持Location指令,接收到这个指令的浏览器将自动重定向到Location指明的另一个URL上。" (https://www.360docs.net/doc/cb18835500.html,/art/200604/25388.htm) 这种方式,对于简单的网站,如果网站是自己开发的,也在一定程度上可行.但是它存在着较多的问题: 1、“例如一台服务器如何能保证它重定向过的服务器是比较空闲的,并且不会再次发送Location指令,Location指令和浏览器都没有这方面的支持能力,这样很容易在浏览器上形成一种死循环。” 2、在哪里放LOCATION,也是一个问题。很有可能用户会访问系统的很多个不同URL,这个时候做起来会非常麻烦。并且,对URL的访问,有的时候是直接过来的,可以被重定向,有的时候是带着SESSION之类的,重定向就可能会出问题。并且,这种做法,将负载均衡这个系统级的问题放到了应用层,结果可能是麻烦多多。 3、这种方式一般只适用于HTTP方式,但是实际上有太多情况不仅仅是HTTP方式了,特别是用户如果在应用里面插一点流媒体之类的。 4、重定向的方式,效率远低于IP隧道。 5、这种方式,有的时候会伴以对服务器状态的检测,但往往也是在应用层面实现,从而实时性大打折扣。 实际上,这种方式是一种“对付”的解决方法,并不能真正用于企业级的负载均衡应用(这里企业级是指稍微复杂一点的应用系统) 可以看一下专业的负载均衡软件是如何来实现的: https://www.360docs.net/doc/cb18835500.html,/pcl/pcl_sis_theory.htm 对比一下可以发现,专业的负载均衡软件要更适用于正规应用,而重定向方式则比较适用于

负载均衡技术的三种实现方法

目前,网络应用正全面向纵深发展,企业上网和政府上网初见成效。随着网络技术的发展,教育信息网络和远程教学网络等也得到普及,各地都相继建起了教育信息网络,带动了网络应用的发展。 一个面向社会的网站,尤其是金融、电信、教育和零售等方面的网站,每天上网的用户不计其数,并且可能都同时并发访问同一个服务器或同一个文件,这样就很容易产生信息传输阻塞现象;加上Internet线路的质量问题,也容易引起出现数据堵塞的现象,使得人们不得不花很长时间去访问一个站点,还可能屡次看到某个站点“服务器太忙”,或频繁遭遇系统故障。因此,如何优化信息系统的性能,以提高整个信息系统的处理能力是人们普遍关心的问题。 一、负载均衡技术的引入 信息系统的各个核心部分随着业务量的提高、访问量和数据流量的快速增长,其处理能力和计算强度也相应增大,使得单一设备根本无法承担,必须采用多台服务器协同工作,提高计算机系统的处理能力和计算强度,以满足当前业务量的需求。而如何在完成同样功能的多个网络设备之间实现合理的业务量分配,使之不会出现一台设备过忙、而其他的设备却没有充分发挥处理能力的情况。要解决这一问题,可以采用负载均衡的方法。 负载均衡有两个方面的含义:首先,把大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间;其次,单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,再返回给用户,使得信息系统处理能力可以得到大幅度提高。 对一个网络的负载均衡应用,可以从网络的不同层次入手,具体情况要看对网络瓶颈所在之处的具体情况进行分析。一般来说,企业信息系统的负载均衡大体上都从传输链路聚合、采用更高层网络交换技术和设置服务器集群策略三个角度实现。 二、链路聚合——低成本的解决方案 为了支持与日俱增的高带宽应用,越来越多的PC机使用更加快速的方法连入网络。而网络中的业务量分布是不平衡的,一般表现为网络核心的业务量高,而边缘比较低,关键部门的业务量高,而普通部门低。伴随计算机处理能力的大幅度提高,人们对工作组局域网的处理能力有了更高的要求。当企业内部对高带宽应用需求不断增大时(例如Web访问、文档传输及内部网连接),局域网核心部位的数据接口将产生瓶颈问题,因此延长了客户应用请求的响应时间。并且局域网具有分散特性,网络本身并没有针对服务器的保护措施,一个无意的动作,像不小心踢掉网线的插头,就会让服务器与网络断开。 通常,解决瓶颈问题采用的对策是提高服务器链路的容量,使其满足目前的需求。例如可以由快速以太网升级到千兆以太网。对于大型网络来说,采用网络系统升级技术是一种长远的、有前景的解决方案。然而对于许多企业,当需求还没有大到非得花费大量的金钱和时间进行升级时,使用升级的解决方案就显得有些浪费

网站负载均衡解决方案

网站负载均衡解决方案 Web负载均衡(Load Balancing),简单地说就是给我们的服务器集群分配“工作任务”,而采用恰当的分配方式,对于保护处于后端的Web服务器来说,非常重要。 反向代理负载均衡 反向代理服务的核心工作主要是转发HTTP请求,扮演了浏览器端和后台Web 服务器中转的角色。因为它工作在HTTP层(应用层),也就是网络七层结构中的第七层,因此也被称为“七层负载均衡”。可以做反向代理的软件很多,比较常见的一种是Nginx。

Nginx 是一种非常灵活的反向代理软件,可以自由定制化转发策略,分配服务器流量的权重等。反向代理中,常见的一个问题,就是Web服务器存储的session 数据,因为一般负载均衡的策略都是随机分配请求的。同一个登录用户的请求,无法保证一定分配到相同的Web机器上,会导致无法找到session的问题。 解决方案主要有两种: 配置反向代理的转发规则,让同一个用户的请求一定落到同一台机器上(通过分析cookie),复杂的转发规则将会消耗更多的CPU,也增加了代理服务器的负担。 将session这类的信息,专门用某个独立服务来存储,例如redis/memchache,这个方案是比较推荐的。 反向代理服务,也是可以开启缓存的,如果开启了,会增加反向代理的负担,需要谨慎使用。这种负载均衡策略实现和部署非常简单,而且性能表现也比较好。但是,它有“单点故障”的问题,如果挂了,会带来很多的麻烦。而且,到了后期Web服务器继续增加,它本身可能成为系统的瓶颈。

配置文件样本: #user nobody; worker_processes 1; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream https://www.360docs.net/doc/cb18835500.html, { server 192.168.1.188:80 weight=5; server 192.168.1.158:80; } server { listen 80; server_name https://www.360docs.net/doc/cb18835500.html,; location / { proxy_pass https://www.360docs.net/doc/cb18835500.html,; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 使用memcache同步session并协调缓存 一旦使用了负载均衡,session就会存在同步问题,使用memcache同步session 是个不错的解决方案。 需要准备一个相对强大的memcache服务器,安装memcache服务。代码层将其他几个主机的seesion都指定到这台memcache服务器。 相关文章阅读(提供了memcache的详细讲解涵盖:介绍、安装、使用等说明):《memcache缓存与session》 地址:https://www.360docs.net/doc/cb18835500.html,/books/read_10090.html

服务器负载均衡解决方案

深信服科技 AD服务器负载方案深信服科技有限公司

服务器负载均衡解决方案文档密级:公开 目录 第1章概述 (1) 第2章需求分析 (1) 第3章解决方案 (2) 3.1网络拓扑 (2) 3.2方案描述 (2) 3.2.1方案设计 (2) 3.2.2方案实现 (3) 3.3产品彩页 (4)

第1章概述 随着组织机构的不断发展,为了节省业务运营成本和提升工作效率,组织对信息化系统的依赖程度越来越高。为了避免业务中断所带来极大损失,组织该如何保障业务系统的系统可用性和稳定性? 由于业务系统的人数日益增多,单一的网络服务设备的性能已经不能满足众多用户访问的需要,由此需要引入服务器的负载平衡,实现客户端可访问多台同时工作的服务器,动态分配每一个应用请求到后台的服务器,并即时按需动态检查各个服务器的状态,根据预设的规则将请求分配给最有效率的服务器。 服务器负载均衡技术在现有网络结构之上能够提供一种廉价、有效、透明的方法来扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。它主要能够带来两方面的价值: 1、能够建立有效的负载均衡机制 传统的负载机制是建立在较简单负载均衡机制和较简单的健康检查机制上的,不能根据服务器提供服务的具体情况向其转发有效的访问流量。而通过构建新的负载均衡系统,可以采用多种负载均衡机制,将大量的并发访问或数据流量分担到多台设备上分别处理,进而减少用户等待响应的时间,提升系统处理能力。 2、能够建立有效的健康检查机制 负载均衡系统可以对服务器的运行状况做出准确判断,确保提供服务的正确。全面的健康检查机制不仅可以有效的监控到服务进程的有效性,即对应用端口提供服务的能力进行健康检查,而且对于应用程序运行错误也同样可以提供有效的检查机制,从而避免了客户端可以访问到服务器,但得不到响应的情况的出现。 第2章需求分析 1、通过负载均衡设备将用户访问请求分配到多台之上,提升应用系统的处理能力。 2、当某台服务器发生故障时能被及时检测到,并且故障服务器将会被自动隔离,直到其恢复正常后自动加入服务器群,实现透明的容错,保证服务器整体性能得到大幅提升 3、由于是对外发布的应用,存在部门用户的网络质量差、跨运营商访问的情况,造成

相关文档
最新文档