1 / 15
文档名称:

负载均衡技术攻略详解.doc

格式:doc   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

负载均衡技术攻略详解.doc

上传人:yjjg0025 2015/6/5 文件大小:0 KB

下载得到文件列表

负载均衡技术攻略详解.doc

相关文档

文档介绍

文档介绍:普及一下啥叫负载均衡:
负载均衡的作用:把不同的客户端的请求通过负载均衡策略分配到不同的服务器上去。
负载均衡的基本工作方式:通过更改请求的目的地址对请求进行转发,在服务器返回数据包的时候更改返回数据包的源地址保证客户端请求的目的和返回包是同一个地址。
负载均衡设计的三个要素:分发策略、会话保持和服务器健康检查。
分发策略:即负载均衡设备根据什么样的策略把请求分发到不同的后台服务器上。最简单的算法就是轮询,把用户的请求依次分配到服务器上。
会话保持:在大部分的应用中都会涉及到服务器Session控制。而且这些Session通常不会在服务器之间进行复制的。也就是说一个用户在登录的时候,如果分配到了某一台服务器上,则最基本的要求就是这个用户后续的请求都分配到这台服务器上。如果分配到其他的服务器上则可能不认识这个用户的请求,而造成请求失败。最简单的会话保持策略是源地址会话保持,也就是负载均衡设备认为同一个源地址过来的所有请求都是发自于同一个客户端。在源地址会话保持的情况下,一个客户端的第一个请求会按照负载均衡策略进行分配,一旦分配了一台服务器之后,后续的请求都会发到这台服务器。当然,对于一些应用如新闻、图片等静态的内容就不需要会话保持了。
健康检查:负载均衡设备必须检测后台服务器是否在正常工作,如果发现某一台服务器出现了故障,则需要把这台服务器从负载均衡组里面摘掉。当故障服务器恢复服务的时候,再把服务器重新加入到负载均衡组里面进行处理。
四层负载均衡:就是以TCP的一个连接为最小单位,也就是以一个Socket连接的最小单位来进行转发,在一个Socket里面跑了多少个交易和负载均衡无关。
七层负载均衡:负载均衡设备可以按照协议识别每一笔交易,并以每个交易为最小单位进行转发。比如在一个HTTP ,四层负载均衡一旦在确定第一个连接的分配后,就不能对后续的request /response进行后续处理了。而七层负载均衡处理能把每一个http request/response分别进行处理。反垃圾邮件网关
负载均衡实际上有多种方式:
1、DNS负载均衡,通过DNS协议实现,对于同一个域名,DNS可以同时提供多个IP地址对应,浏览器会选择第一个地址发出请求,而多个DNS地址在 Local DNS返回给客户端的时候会轮询返回,所以不同的用户得到的第一个地址是不一样的。因此,对一个域名提供多个地址可以实现负载均衡的效果。另外一种DNS 负载均衡的方式是DNS服务器判断客户端local DNS的源地址,根据不同的源地址返回不同的IP地址和域名对应。比如来源是网通,就返回网通的服务器地址,来源是电信,就返回电信的服务器地址。这样也能实现负载均衡的效果。
2、NAT负载均衡,在前面一贴已经讲过了,就不多说了。
3、重定向负载均衡,一些协议比如HTTP是可以支持重定向的,负载均衡设备通过算法决定用户的请求应该去某台服务器的时候,就返回一个302重定向指令使用户重新发送一个请求到目的服务器。这样实现负载均衡。
在实际的网站环境中,由于每个编程人员的考虑角度不同,很多时候开发人员考虑的是如何实现功能和业务,很少考虑访问速度究竟如何。他们的开发环境都是很好的100M,1000M的网络环境,而实际应用中客户端可能来自于任何的地点和位置,有国外的访问、CDMA、GPRS、跨运营商等都有可能。当这些用户访问一个不优化的网站的时候,就会暴露出各种各样的问题了。
访问优化分为两个部分,客户端优化和服务器端优化:
客户端优化
主要是优化客户端的访问速度。客户端的访问优化可以通过以下几种技术手段:
1、多并发连接,默认情况下,IE ,都只会用两个TCP连接访问网站,当一个网站上有几十个对象(js,CSS,jpg,gif等)。这些对象就都会在两个TCP连接中按照request/response方式依次下载。在局域网没什么感觉,但一到了广域网环境下,由于广域网的延迟就会造成TCP传输效率急剧下降(因为延迟在每一次数据包的传输过程中都会被加入)。解决的办法就是使用多个域名来下载这些对象,即使这些域名都对应同一个 IP,浏览器也会并发多个连接同时去下载对象。这也是Flashget,网络蚂蚁下载东西比单独IE下载速度快的一个主要原因。
2、HTTP压缩,大部分的浏览器,比如IE和Firefox都可以支持gzip和deflat两种协议的解压缩。而HTTP 的页面内容大部分都是以明文,所以,把服务器返回的内容进行压缩后,传输给客户端,客户端再进行解压缩。通常情况下,压缩比可以到1:5,也就是100K 的页面可以压缩到20K,这样,在网络上传输的数据量