- 浏览: 508114 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (422)
- 重要 (12)
- BUG解决备忘录 (32)
- 环境搭建 (17)
- 开源组件 (4)
- 数据库 (16)
- 设计模式 (4)
- 测试 (3)
- javascript (5)
- Android (14)
- jdk相关 (9)
- struts2 (10)
- freemark (3)
- 自定义扩展及工具类 (5)
- jdk5新特性及java基础 (13)
- ssh及其他框架 (15)
- linux (32)
- tcp-ip http协议 (8)
- 服务器集群与负载均衡 (34)
- 项目管理相关 (11)
- 实用小技术 (10)
- 架构相关 (14)
- firefox组件 (11)
- spider (6)
- 产品设计 (11)
- PHP (1)
- ws (4)
- lucene (10)
- 其他 (2)
- BI (1)
- NoSQL (3)
- gzip (1)
- ext (4)
- db (6)
- socket (1)
- 源码阅读 (2)
- NIO (2)
- 图片处理 (1)
- java 环境 (2)
- 项目管理 (4)
- 从程序员到项目经理(一):没有捷径 (1)
- bug (1)
- JAVA BASE (8)
- 技术原理 (0)
- 新框架新技术 (1)
- 量化与python (1)
- 系统编程 (0)
- C语言 (0)
- 汇编 (0)
- 算法 (0)
最新评论
-
hyspace:
别逗了,最后一个算法根本不是最优的,sort(function ...
数组去重——一道前端校招试题 -
washingtin:
楼主能把策略和路由的类代码贴出来吗
Spring + iBatis 的多库横向切分简易解决思路 -
sdyjmc:
初略看了一下,没有闹明白啊,均衡负载使用Nginx,sessi ...
J2EE集群原理 I -
shandeai520:
谢谢大神!请教大神一个问题:假如我有三台服务器,连接池的上限是 ...
集群和数据库负载均衡的研究 -
hekuilove:
给lz推荐一下apache commonsStringUtil ...
request 获取 ip
目前,网络应用正全面向纵深发展,企业上网和政府上网初见成效。随着网络技术
的发展,教育信息网络和远程教学网络等也得到普及,各地都相继建起了教育信息网络,带动了网络应用的发展。
一个面向社会的网站,尤其是金融、电信、教育和零售等方面的网站,每天上网的用户不计其数,并且可能都同时并发访问同一个服务器
或同一个文件,这样就很容易产生信息传输阻塞现象; 加上Internet
线路的质量问题,也容易引起出现数据堵塞的现象,使得人们不得不花很长时间去访问一个站点,还可能屡次看到某个站点“服务器太忙”,或频繁遭遇系统故障。因此,如何优化信息系统的性能,以提高整个信息系统的处理能力
是人们普遍关心的问题。
一、负载均衡
技术的引入
信息系统的各个核心部分随着业务量的提高、访问量和数据流量的快速增长,其处理能力和计算强度也相应增大,使得单一设备根本无法承担,必须采用多台服务器协同工作,提高计算机系统的处理能力和计算强度,以满足当前业务量的需求。而如何在完成同样功能的多个网络设备
之间实现合理的业务量分配,使之不会出现一台设备过忙、而其他的设备却没有充分发挥处理能力的情况。要解决这一问题,可以采用负载均衡的方法。
负载均衡有两个方面的含义:首先,把大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间;其次,单个重负载的运算分担到多
台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,再返回给用户,使得信息系统处理能力可以得到大幅度提高。
对一个网络的负载均衡应用,可以从网络的不同层次入手,具体情况要看对网络瓶颈所在之处的具体情况进行分析。一般来说,企业信息系统的负载均衡大体上都从传输链路聚合
、采用更高层网络交换
技术和设置服务器集群
策略三个角度实现。
二、链路聚合――低成本的解决方案
为了支持与日俱增的高带宽应用,越来越多的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台这样的服务器组成一个系统,并通过软件技术将所有请求平均分配给所有服务器,那么
这个系统就完全拥有每秒钟处理几百万个甚至更多请求的能力。这就是利用服务器群集实现负载均衡的优点。
早期的服务器群集通常以光纤镜像卡进行主从方式备份。令服务运营商
头
疼的是关键性服务器或应用较多、数据流量较大的服务器一般档次不会太低,而服务运营商花了2台服务器的钱却常常只得到一台服务器的性能。通过
LSANT(Load Sharing Network Address
Transfer)将多台服务器网卡的不同IP地址翻译成一个虚拟IP地址,使得每台服务器均时刻处于工作状态。原来需要用小型机来完成的工作改由多台PC服务器
完成,这种弹性解决方案对投资保护的作用是相当明显的,既避免了小型机刚性升级所带来的巨大设备投资,又避免了人员培训的重复投资。同时,服务运营商可以依据业务的需要随时调整服务器的数量。
网络负载均衡提高了诸如Web服务器、FTP服务器
和其他关键任务服务器上的Internet服务器程序的可用性和可伸缩性。单一服务器可以提供有限级的可靠性和可伸缩性。但是,通过将2个或2个以上高级服务器的主机连成群集,网络负载均衡就能够提供关键任务服务器所需的可靠性和性能。
为了建立一个高负载的Web站点,必须使用多服务器的分布式结构。如使用代理服务器
和
Web服务器相结合,或者2台Web服务器相互协作,这种方式也属于多服务器的结构。但在这些多服务器的结构中,每台服务器所起到的作用是不同的,属于非
对称的体系结构。非对称的服务器结构中每个服务器起到的作用是不同的,例如一台服务器用于提供静态网页,而另一台用于提供动态网页等等。这样就使得网页设计
时就需要考虑不同服务器之间的关系。一旦要改变服务器之间的关系,就会使得某些网页出现连接错误,不利于维护,可扩展性也较差。
能进行负载均衡的网络设计结构为对称结构,在对称结构中每台服务器都具备等价的地位,都可以单独对外提供服务,而无须其他服务器的辅助。然后,可以通过
某种技术,将外部发送来的请求均匀分配到对称结构中的每台服务器上,接收到连接请求的服务器都独立回应客户的请求。在这种结构中,由于建立内容完全一致的
Web服务器并不困难,因此负载均衡技术就成为建立一个高负载Web站点的关键性技术。
综上所述,在客户端对操作系统
进行优化,改善网络环境,虽然可以最大限度地提高客户端的信息传输速率,但是,在网络中,当众多工作站同时向同一服务器发出请求或同时访问同一个文件时,所产生的信息传输阻塞现象却是无能为力的。为此在服务器端
采
用负载均衡这种策略,它能让多台服务器或多条链路共同承担一些繁重的计算或I/O任务,从而以较低成本消除网络瓶颈,避免了单机拥塞或单机故障造成的不良
影响,便于扩展,保证服务需要,提高网络的灵活性和可靠性。而且负载均衡是建立在现有网络结构之上,提供了一种廉价有效的方法扩展服务器带宽和增加吞吐
量,加强网络数据处理能力,提高网络的灵活性和可用性。负载均衡主要完成以下任务:
(1)解决网络拥塞问题,就近提供服务,实现地理位置无关性;
(2)为用户提供更好的访问质量;
(3)提高服务器响应速度;
(4)提高服务器及其他资源的利用效率。
发表评论
-
Spring + iBatis 的多库横向切分简易解决思路2
2011-12-26 16:43 2034Table of Contents I. 向Co ... -
Spring + iBatis 的多库横向切分简易解决思路
2011-12-26 16:36 11411.引言 笔者最近在做一个互联网的“类SNS” ... -
tomcat端口被长时间连接,CPU使用率高的原因分析
2011-11-20 23:50 1041tomcat使用的是电脑的80端口。 当客户端访问的 ... -
Nginx+keepalived做双机热备加tomcat负载均衡
2011-10-25 16:55 1626环境说明: nginx1: 192.168.2.4 ... -
MySQL 6.0 集群(cluster)+复制(replicate)
2011-05-05 02:08 1462http://www.net5 . 简介 本 ... -
centos下MySQL主从同步配置
2011-05-05 00:38 1021一、环境 主机: ... -
HadHoop分布式框架配置(二)
2011-03-16 21:42 1132我们假定,你已经下 ... -
HadHoop分布式框架简介(一)
2011-03-16 21:42 1447分布式系统基本原理 分布式系统被设计成可以存 ... -
利用nginx+apache+mysql+php+memcached+squid搭建门户网站
2011-03-06 04:27 1450转自:http://hi.csdn.net/rushcc200 ... -
CentOS 5.3上安装Apache+php+Mysql+phpMyAdmin
2011-03-03 22:00 10831、系统下载 CentOS 开发社区已发布了新的 5.3 版 ... -
1分钟完美安装最新 CentOS + Nginx + PHP-FPM + MySQL
2011-03-03 21:58 1299PHP 5.3.1 MySQL 5.0.89 Ngin ... -
集群和数据库负载均衡的研究
2011-03-01 03:34 1717http://dadupi.blogbus.com/logs/ ... -
Memcached集群/分布式的单点故障
2011-03-01 03:24 1891我看到过这样一段文字 “memcached如何处理容错的? ... -
Memcached 集群架构问题归纳
2011-03-01 02:54 1001集群架构方面的问题 o memcached是怎么工作的 ... -
大型bbs架构(squid+nginx)实例分享
2011-03-01 01:50 1503这个架构 基于squid、nginx 和lvs等技术 , ... -
nginx图片服务器的架构方案
2011-03-01 01:44 1714图片服务 通常数据 容量较大,而且访问也频繁,鉴于此,图片 ... -
解密大中型网站架构设计来自威鹏网信息化解决方案专家。
2011-03-01 01:38 987相信很多IT ... -
基于mod_proxy+Apache 2.2.16+Tomcat 7的负载均衡与集群配置
2011-03-01 00:59 1488基于mod_proxy+Apache 2.2.16+Tomca ... -
揭秘全球最大网站Facebook背后的那些软件
2011-03-01 00:53 10732010年6月,Google公布全球Top 1000网站 ... -
基于nginx的tomcat负载均衡和集群(超简单)
2011-03-01 00:46 1086今天看到"基于apache ...
相关推荐
介绍了负载均衡技术和实现负载均衡的各种工具,介绍的很不错。
探讨分布式网络服务器使用的负载均衡技术及负载分配的策略,并基于网络地址转换在FreeBSD上实现了负载均衡网关,应用于我们的Internet网络服务器上,将负载分给多个服务器分担,以解决Internet服务器面临的大量并发...
目前有许多不同的负载均衡技术用以满足不同的应用需求,如软/硬件负载均衡、本地/全局负载均衡、更高网络层负载均衡,以及链路聚合技术。 我们使用的是软负载均衡器Nginx,而农行用的是F5硬负载均衡器,这里...
网络的负载均衡是一种动态均衡技术,通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务合理均衡地分配出去。这种技术基于现有网络结构,提供了一种扩展服务器带宽和增加服务器吞吐量的廉价有效的方法...
调度器的实现技术中,IP负载均衡技术是效率最高的,IP虚拟服务器软件(IPVS)是在linux内核中实现的。
本文介绍了负载均衡技术的应用背景,描述了负载均衡技术的实现与运行机制,并简 单介绍了负载均衡技术在实际环境中的应用。
基于Linux的链路负载均衡技术研究与实现.pdf
集群网络负载均衡技术分析及实现.pdf
教程名称: 企业负载均衡技术打包下载【】F5 管理接口路由与TMM路由之间关系【】JK负载均衡器 Tomcat集群【】Linux下双网卡绑定技术实现负载均衡和失效保护【】LINUX企业集群(用商用硬件和免费软件构建高可用集群...
基于SQL Server Alwayson技术的负载均衡研究.pdf
Web负载均衡解决方案-HAproxy+keepalived实现高可用负载均衡.docx
当前,无论在企业网、园区网还是在广域网如Internet上,业务量的发展都超出了过去最乐观的估计,即使按照当时最优配置建设的网络,也很快会感到吃不消。...就成了一个问题,负载均衡机制也因此应运而生。
对异构数据库集群中间件的研究,即对于负载均衡的分析和设计。使用了三层体系架构模式,基于中间件技术而设计的,其中间件为一个构建在普通硬件上的数据库集群中间件,把网络内的各种异构数据库进行连接,组建起数据库...
讲述了三种(NAT,TUN,DR)ip负载均衡技术的实现原理以及它们的优缺点
分布式数据库中负载均衡技术的实现,张红旗,任维政,随着互联网的快速发展,用户对于信息获取的正确性、及时性要求越来越高。数据库系统是数据存储、信息检索的主要手段,是制约Web系
负载均衡原理与技术实现.doc