- 浏览: 310649 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (272)
- java (42)
- c (49)
- 算法 (29)
- 汇编语言 (3)
- 字符集 (3)
- error (3)
- 搜索引擎 (2)
- 互联网 (18)
- linux (12)
- 网络 (20)
- VMWare (1)
- 面试 (7)
- c++ (55)
- 设计模式 (3)
- db (9)
- office (2)
- FS (1)
- rest (3)
- Ajax (2)
- Spring (2)
- Hibernate (3)
- matlab (1)
- load balancing (8)
- 分布式计算 (2)
- 易语言 (1)
- apache tomcat (1)
- 测试 (1)
- 数据结构 (5)
- 数学 (13)
- 服务器 (9)
- 读后感 (4)
- 好书介绍 (1)
- script (3)
- wordpress (2)
- delphi (21)
- pascal (8)
- xml (3)
- 趣味 (1)
- PHP (3)
- python (13)
- DLL (4)
- openGL (8)
- windows (2)
- QT (28)
- django (7)
- jquery (1)
- 数据挖掘 (7)
- nginx (1)
- js (1)
- mac (1)
- hadoop (3)
- 项目管理 (1)
- 推荐系统 (1)
- html (1)
最新评论
-
晴天1234:
related remove:attention.ibus和u ...
UBUNTU的默认root密码是多少,修改root密码 -
美丽的小岛:
美丽的小岛 写道如上配置好就得了。提示没有OpenGl.dll ...
OpenGL学习入门之VS2010环境配置 [转] -
美丽的小岛:
如上配置好就得了。提示没有OpenGl.dll之类的,再增加入 ...
OpenGL学习入门之VS2010环境配置 [转] -
美丽的小岛:
主要是理清哪两个对象之间的关系,是信号与所有槽的关系或者是槽与 ...
QT之DisConnect -
美丽的小岛:
LPCTSTR类型:L表示long指针 这是为了兼容Windo ...
QString与各种字符串之间的转化
对于负载均衡的一大应用就是处理服务器的任务。如何进行有效的配置和规划,让每一个服务器接受到等量的工作,这就是服务器负载均衡设备的工作。在整个服务器集群中,若有一个服务器出现了故障,只需将它提出到集群之外进行维修,之后在加入集群中就可以了。中间,负载均衡能自动进行任务的从新分配,不会造成单个集中性的负载问题。
服务器负载如何分担?
服务器负载均衡(SLB)设备的功能越来越高级,有越来越多的产品通过解释URL等HTTP头中的应用种类信息来分流数据
。SLB设备既可以应用于面向执行交易处理的手机站点,也可以按客户端种类将通信分流到特定服务器。支持防火墙设备、VPN设备和入侵检测系统(IDS,Intrusion Detection System)的负载均衡设备相继出台。
负载均衡的主要用法
负载均衡的目的不同,对产品所要求的功能也不同。负载均衡设备有以下几种主要用法:
(1)将来自用户的接入请求分散给多个服务器,要求这种产品有SLB功能和3/4层交换功能;
(2)将通信流量分散给多台防火墙设备、入侵检测系统和VPN设备;
(3)将来自用户的接入请求分散给Internet上不同站点的服务器,要求这种产品有站点间的负载均衡功能;
(4)将交易处理分散给适当的服务器,要求这种产品有支持应用层的负载均衡功能。
其中,需求量最大的是(1)。
精确识别HTTP头
支持应用层的SLB设备,具有识别应用种类信息并据此分配通信流量的功能。在EC站点,对于交易类处理过程,有时同一客户端与服务器之间要有多次反复的数据交换;在这种情况下,需要有管理会话、将来自同一用户的通信量分配给同一个服务器的能力。
作为负载分配条件,可以利用下述4种信息:
(1)URL;
(2)Cookie ;
(3)SSL会话ID;
(4)源IP地址和端口号。
其中(1)、(2)是包含在HTTP头中的信息,这是只有支持应用层才会有的功能。过去的SLB产品中也支持(2)~(4),最近,也开始向支持(1)的方向发展。支持应用层的所有SLB设备,都已经或计划不久要支持(1)。
支持服务器ID
在执行交易处理的接收手机接入请求的站点中,为了有效进行负载均衡,有越来越多可以利用服务器ID的产品问世。这种产品通过识别存储在URL中的服务器ID,将通信量分配给适当的服务器。支持应用层的产品,基本上都有这个功能。若将来自特定用户的接入请求分配给同一个服务器,可以使系统既容易构筑,也不易形成瓶颈。因此,要利用各种信息来实现会话管理,将会话ID存储到由服务器返给用户的URL参量和Cookie中,或利用SSL会话ID对会话进行管理。SLB设备参照会话管理信息,将交易处理的通信量分配给适当的服务器。
在接收手机上网的站点中,多数采用将会话ID存储到URL的方法。现在的浏览器电话基本上都支持Cookie和SSL,过去的SLB设备,不能参照存储到URL的信息来决定分配对象,而最近的产品基本上都做到了这点。但是,如果利用URL和Cookie等HTTP头信息来管理会话,要大量消耗SLB设备CPU的处理能力。随着同时进行会话数目的增加,要检测的会话ID也增多,CPU的负荷越来越重。于是,存储在URL中的 服务器ID应运而生,在服务器端与会话ID一起,作为用于识别服务器的ID发布,附加在URL中返给用户。此后,SLB设备按服务器ID来分配通信量即可。而且,即使同时的会话数增加,对SLB设备的影响也不大。
按不同终端来切换服务器
通过识别URL等HTTP头来分配通信量的功能,除用于会话管理外,还可用于其它用途,如按客户端种类和所要求的处理来分配通信量。用HTTP头的“User-Agent"项,判断浏览器类型(客户机类型), 可以将通信传送给保有相应客户机内容的服务器。如果希望由不同服务器分别提供面向手机的内容和面向PC的内容,这是个非常方便的功能。此外,还可将对HTML文件和图像文件等静态数据的请求传送给缓存服务器;将对CGI和JSP等动态数据的请求传送给应用服务器。
均等分配服务器负载
哪个产品都能用Ping来确认服务器的响应速度,用TCP/UDP端口来确定不同“应用"类型的状态 。但仅靠这样的功能,实际上还无法弄清楚分配目标服务器是否是轻载。如果能深入检测到应用的状态,就能确实做到由负荷轻的服务器处理通信。同时,也可以避免发生这样的问题:将请求分配到了TCP/IP处于运行状态而Web服务器等的应用却处于宕机状态的服务器。
美国Hydraweb Technologies公司的Hydra系列、Coyote Point Systems公司 的Equalizer 系列和以色列Radware公司的WSD-Pro+ 系列,在服务器中装入专用代理软件,具有根据CPU和内存利用率来分配通信的功能。例如,两台Web服务器的CPU利用率分别是25%和50%,可以按2:1的比例来分配通信量。
利用代理功能可以详细把握服务器和应用的状况,但在服务器端安装代理软件比较费事。要想省事,还有一种方法就是利用SNMP的信息。如果利用支持SNMP的服务器和OS,不装入代理软件也能掌握服务器的状态。F5 Networks公司的BIG-IP、思科的Local Director、CSS系列 和WSD-Pro+等产品,支持SNMP监视功能。另外,还可以从应用侧来控制通信的分配。例如,在用某个检索数据库进行重要处理之际,将更多的通信分配给参照其它检索数据库的Web服务器。
加速HTTP通信的产品
可加速Web服务器响应速度、减轻负荷的产品现在已经上市,如BIG-IP和美国Clickarray Networks公司的 Array 系列产品。这种产品具有减少HTTP通信中“建立/切断TCP连接"开销的功能。
在通常的HTTP通信中,每次传输文件都要建立和断开TCP连接。TCP连接的建立/切断,对于HTTP通信来说是开销,会引起响应速度下降和负荷增加。因此,在HTTP/1.1中,规定用一次TCP连接、集中传输多个文件。在一页上有多个图像文件的站点中,由于削减了建立/切断TCP连接的开销,可望大幅提高响应速度。在SLB设备中,有两种情况可以建立永久性TCP连接:(1)在SLB设备与Web服务器之间,用永久性TCP连接集中传输多个用户请求的多个文件;(2)在客户机和SLB设备之间,每个客户端实现一个TCP连接,集中传输多个文件。这种通信方法通常叫做“保持通话连接(Keep Alive)"。
支持多重防火墙的产品
还有在多重防火墙和VPN设备中可使用的负载均衡设备。如BIG-IP、Alteon系列等。在构筑大规模Intranet和使用VPN进行企业内外频繁通信时,防火墙和VPN往往会成为瓶颈。在这种情况下,最好导入支持防火墙负载均衡的产品。在导入这些产品时,要设置两台负载均衡设备,将多个防火墙和VPN设备夹在中间来分散流向防火墙和VPN的通信量。这种情况下,如果 “往返" 的通信不是通过同一个防火墙和VPN,就不能正确工作。因此,在Internet侧和Intranet侧设置的负载均衡设备要相互协调。
还有支持IDS的负载均衡的产品,如Alteon 和美国Toplayer公司的AppSwitch3500 等。如果简单分散流向IDS的通信量,恐怕不能检测出诸如DoS(Denial of Service)这类连续通信构成的攻击。因此,支持IDS的负载均衡产品具有这样的功能:以送达目标IP地址作为判定条件,将一连串连续的通信分配给特定的IDS。
通过Internet进行站点间负载均衡
有的产品具有通过Internet实现站点间负载均衡的功能。最近,越来越多的产品标准配置有站点间负载均衡功能或通过“可选项"追加这个功能。
Array系列和Foundry公司的ServerIron系列的标准配置有站点间负载均衡功能;BIG-IP和Equalizer系列,可以通过“选项"选择支持站点间负载均衡功能。
F5 Networks公司的3DNS、思科的Content Router 4400、北电的Personal Content Director以及Hydra 等都是用于站点间负载均衡的专用设备。这些专用设备与站点内的SLB设备并用,可以掌握各站点的负荷状况,精确控制分配对象。
URL改写与CDS联合
在不改变服务器上内容的情况下,具有支持CDS(Content Delivery Service)功能的产品也开始面市。利用CDS时,必须将内容中的URL改写成专用的标识。尽管有改写工具,但要一个一个的改写服务器上的内容也很烦琐。使用URL的改写功能,就无须变更服务器上的内容。今后,与CDS联合起来实现负载均衡也是一种方向。如果利用配置有逆向代理缓存(Reverse Proxy cache )功能的Array系列,也可以构筑简易CDS。
SLB设备的选择标准
注意吞吐量—在选择产品时,吞吐量是重要的技术指标。在识别应用层时,必须将分割成包的信息复元成“应用",这无疑加重了处理负担。目标吞吐量的计算方法,各个厂家往往不同。在安装必要的处理时是否能达到所需要的吞吐量,必须要得到厂家的确认。在使用SSL时,为了识别应用层的信息,事先必须要解密SSL。如果要选择配置有加速器功能的产品和可追加加速器功能的产品,SSL的处理不会成为瓶颈。Intel的7180/7185 e-Commerce Director和Array 系列,其标准配置有加速器,BIG-IP用选项可以追加。
注意各产品分配条件定义上的差异—在分配条件的定义方法上,各产品是有差别的。例如,在HTTP头中包含有特定字符串时,作为分配通信的判定方法,BIG-IP系列产品和其它产品就有所不同。另外,对HTTP头内容的解释,不同产品也有所不同。在SLB设备中,有的产品只能解释Cookie和URL等有限的HTTP头,有的产品能解释的字节数有限制。在应用时,一定要充分确认是否满足识别HTTP头所需要的条件。
http://network.51cto.com/art/201004/197116_2.htm
发表评论
-
Apache 的 httpd.conf 详解(很实用)
2015-05-02 18:53 665ServerRoot /usr/local ServerR ... -
TCP/IP,Http,Socket的区别
2014-07-27 00:47 506大学学习网络基础的时 ... -
搜索有点失望也有点可怕
2012-10-26 11:44 1353想看看最近那个搜索引擎比较好一点,做了一个实验,关 ... -
浅谈HTTP中Get与Post的区别
2012-09-11 14:46 1258Http定义了与服务器交互的不同方法,最基本的方法有4种,分别 ... -
Windows NT体系结构<转>
2012-08-30 08:27 1257Windows NT中的NT意为New Technology, ... -
服务器发展史
2012-08-29 09:26 991Web 服务器架构史:http://selboo.com. ... -
三大WEB服务器对比分析(apache ,lighttpd,nginx)
2012-08-29 08:49 823一.软件介绍(apache lig ... -
几种Web服务器比较 (Apache、IIS、Lighttpd、Nginx、LiteSpeed、Zeus) <转>
2012-08-29 08:45 1497注意到有这款服务器nginx。没听过,一查有了下文。其中有一个 ... -
软硬两个角度学习网络负载均衡<转>
2012-08-21 11:12 864初学负载均衡,如果不能很好把握它的知识,我们可以多换几个角度进 ... -
解密负载均衡市场高速发展内幕2<转>
2012-08-21 09:52 9791996-1999年:发现商机:网络负载均衡的起始阶段 F ... -
解密负载均衡高速发展内幕1<转>
2012-08-21 09:37 907负载均衡市场机会是如 ... -
几款服务器压力测试软件 【转】
2012-08-10 12:09 1251本文介绍了几个比较典 ... -
关于apache 和 tomcat的区别<转>
2012-08-06 21:14 1160apache tomcat联系: Ap ... -
服务器负载均衡算法(转)
2012-07-14 23:27 848服务器负载均衡 ... -
杨剑:中国为什么没有根域名服务器<转>
2012-07-01 17:54 1044来源: 山里娃信息网http://www.368info.co ... -
springMVC+Rest+Ajax小例记录
2012-06-14 14:35 2495学习spring ,3.0有新的变 ... -
web.xml配置<转>
2012-06-05 11:50 1145总结一下web.xml的配置,留作文档,查阅: 出自:htt ... -
深入浅出REST<转>
2012-06-03 20:41 840作者 Stefan Tilkov 译者 苑 ... -
Rest第一个实验
2012-06-03 20:27 1812这些天在看一本叫做《REST实战》的书,觉得内容有点难明白的, ... -
RMI小例实战记录
2012-05-22 21:43 1682一、关于RMI 对于远程,有些时候会想到FTP,HTTP,N ...
相关推荐
Web服务器负载均衡是一种技术,用于在多台服务器之间分配网络流量,以确保任何单台服务器不会过载,从而保持服务的稳定性和可用性。这种方案是大型网站和高并发应用的关键组成部分,它能够提高系统性能,增强容错...
本文将详细介绍Dubbo提供的几种负载均衡策略。 1. **随机负载均衡(Random Load Balance)** 这是Dubbo默认的负载均衡策略。它会为每个服务提供者计算一个权重值,然后基于这个权重进行随机选择。权重值可以根据...
总的来说,这个实例提供了从头开始设置和配置一个基于mod_jk的Apache-Tomcat负载均衡集群的详细步骤,涵盖了从安装到配置、启动和监控的所有关键环节。对于开发者和运维人员来说,这是一个非常有价值的实践教程,...
本项目“Vchat — 从头到脚,撸一个社交聊天系统”就是这样一个实例,它利用Vue.js作为前端框架,Node.js作为后端开发语言,MongoDB作为数据存储,为我们呈现了一个完整的实时通信解决方案。 **Vue.js** 是一个轻量...
例如,假设我们需要实现一种基于URL的负载均衡策略,即将请求路由到不同的服务器池。我们可以通过编写如下的iRules脚本来实现这一目标: ```tcl when HTTP_REQUEST { if {[HTTP::uri] starts_with "/api/v1"} { ...
"百万用户级游戏服务器架构设计" ...百万用户级游戏服务器架构设计需要考虑到服务器结构、登录服资源配置、负载均衡、数据持久化等多个方面,设计一个合理的服务器结构可以提高系统的可扩展性和可维护性。
在Nginx中配置负载均衡,你需要定义一个upstream块,指定后端服务器(如多个Tomcat实例),然后在server块中使用proxy_pass指令将请求转发到upstream。同时,Nginx还可以缓存静态资源,进一步提升响应速度。 为了...
负载均衡是指将流入的网络流量分散到多个服务器上,以防止任何单一服务器过载,确保服务的持续性和高效性。Nginx提供了强大的负载均衡功能,支持多种调度算法,如轮询、最少连接数、IP哈希等。 1. **轮询(Round ...
9. **性能优化**:源码中可能涉及如何优化MTS服务器的性能,例如通过缓存策略、负载均衡、消息压缩等技术提高处理速度和减少网络带宽消耗。 10. **日志和监控**:为了排查问题和了解系统运行状态,源码可能包含日志...
负载均衡是 Nginx 的一个重要功能,它可以将来自客户端的请求分散到多个后端服务器,以提高系统的可用性和响应速度。Nginx 支持多种负载均衡策略,包括: 1. **轮询(round-robin)**:这是最简单的策略,每个请求...
2. **测试负载均衡**:通过工具如HAProxy或Nginx配置负载均衡,确保流量均匀分配到每个节点。 3. **监控性能**:使用性能监控工具监控集群的负载情况,确保在活跃/活跃模式下各节点能够有效分担工作负荷。 #### 六...
轮转调度算法是一种简单而公平的策略,它的基本思想是依次将请求分发到每个服务器,确保所有服务器都有机会处理请求,从而达到负载均衡的目的。在IPVS的上下文中,RR算法会按顺序分配新的连接请求到服务器列表,一旦...
10. **性能优化**:如缓存策略、数据库查询优化、负载均衡等,提升服务器的响应速度和稳定性。 通过这个项目,你可以从头开始了解并掌握游戏服务器的开发过程,从简单的代码结构到复杂的系统设计,逐步提升你的编程...
- **动态分区迁移(LPM)**:可将在线或离线分区动态迁移到目标服务器,有助于整合和优化服务器资源,实现负载均衡。 - **远程分区重启(RemoteRestart)**:发生计划外停机时,如异常断电等,可快速在远程目标...
- **主/主集群**:所有节点都活动,可以同时处理请求,提高了负载均衡能力和可用性。 #### 三、准备工作 ##### 2.1 安装操作系统 - **选择版本**:本文档基于Fedora 13进行演示,确保所有机器的操作系统版本一致...
PostgreSQL 10.1 中文手册 chm格式 带多级目录,带索引列表 可全文搜索,可离线查阅 可收藏目录,可收藏索引 部分目录: 前言 1.... 2.... 3.... 4.... 5....I.... 1. 从头开始 ... 高可用、负载均衡和复制 27. 恢复配置...
PostgreSQL 12.2 中文手册 chm格式 带多级目录,带索引列表 可全文搜索,可离线查阅 可收藏目录,可收藏索引 部分目录: 前言 1.... 2.... 3.... 4.... 5.... 高可用、负载均衡和复制 27. 监控数据库活动....
PostgreSQL 11.2 中文手册 chm格式 带多级目录,带索引列表 可全文搜索,可离线查阅 可收藏目录,可收藏索引 全网唯一 部分目录: 前言 1.... 2.... 3.... 4.... 高可用、负载均衡和复制 27. 恢复配置....
24. 高可用性与负载均衡 25. 监控数据库的活动 26. 监控磁盘使用情况 27. 可靠性和预写式日志 28. 回归测试 IV. 客户端接口 29. libpq - C库 30. 大对象 31. ECPG - 在C里嵌入SQL 32. 信息模式 V. 服务器...
每个节点还需要配置一个负载均衡器,例如使用Apache HTTP Server或Nginx,来分配请求到不同的Tomcat实例。 纯净版的Tomcat用于用户自定义集群配置,可以根据需求添加必要的模块和服务。测试集群的包则可以帮助用户...