笔者突然看了一本书,上面有篇文章是讲的负载分担技术,主要讲的是天网的,放在这里给大家分享
1. 负载分担--大型服务节点的解决方案:
拥有大量的访问量和用户是信息服务提供者的目标,但是大量的访问会给服务器带来沉重的负担,随着出色的Internet应用服务的用户人数不断增加,服务器变得不胜负荷,如果无法及时处理大量的用户服务请求,将出现服务中断的情况。
以往在解决这些问题的时候,只能采用更强计算能力的服务器来替换原来的服务器,旧的服务器只能淘汰掉。即使这样,单台服务器的负载能力也是有限的,不可能无限扩展,同时,高档服务器的价格是随着服务器的性能呈现指数型上升,因此,采用多台廉价服务器组成负载分担的系统模型日渐成为主流。
2.负载分担系统的原理:
负载分担系统主要是将集中在一台服务器上的用户服务请求分发到多台服务器上。在负载分担方式出现的初期,有不少网络的设计采用域名轮转的方式,即是一个域名对应多台服务器,作为一种廉价的方案,域名轮转的方式可以解决一些服务器的负载问题。
但是,由于这种负载分担的方式有很大的局限性:无法根据各台服务器的负载情况,将用户服务请求发送到不同的服务器上;在其中一台服务器出现问题无法工作的时候,系统仍然会将用户访问请求发送到出现故障的服务器上,造成一部分服务的中断;由于域名解释一般在各地的服务器上都会有Cache存在,因此会造成一个地区的用户访问请求将集中在同一台服务器上。因而实际上,采用域名轮转的方式来做系统负载分担,其效果并不明显。
3.天网防火墙的负载分担系统模块:
使用天网防火墙的分布式方案,可以建造具有快速响应时间和高容错的大容量服务器集群系统。
天网防火墙的负载分布模块,可以智能地将用户的服务请求分布到多台服务器上,同时,提供容错功能,可以自动隔离出问题的服务器。系统具体功能如下:
1)动态负载均衡:
天网防火墙的负载分布模块可以根据服务器的负载情况,包括cpu 占用量,系统Load等情况,自动选择负载最小的服务器,将用户的服务
请求发送到该机器上。
2)容错处理:
天网防火墙的负载分布模块可以自动检测服务器的可用性,当某一台服务器出现故障的时候,分布式系统会自动绕开发生故障的机器,不会将用户的服务请求发送到该机器上,保证了系统的正常运作。
负载分担系统的原理
4.天网防火墙负载分担模块的工作原理:
天网防火墙负载分担模块的工作原理主要是将用户的访问按照一定算法分布到多台服务器上。
天网防火墙可以采用多种不同方式实现负载分担。从功能上可以分为两类:
1)智能类:
直接探测
方式:天网防火墙负载分担模块直接向服务器发送服务请求数据,根据服务器响应时间,将无响应的服务器标志为问题服务器,确立用户
服务请求转发的优先级。
优点:与服务器采用的系统无关,用户服务器可以采用任何种类的服务器。
缺点:得到的数据不准确,无法做到完全的负载分担。
服务器Agent
方式:在服务器端安装天网防火墙的负载检测代理软件,实时向天网防火墙负载分担模块发送服务器的负载情况,包括CPU 占用量,系统
Load,网络流量等情况,天网防火墙根据服务器负载的综合指数,确立用户服务请求转发的优先级。
优点:可以准确地将用户服务请求转发到真正空闲的服务器上,保证服务品质。
缺点:必须针对不同操作系统的服务器安装负载检测代理软件,目前只有Unix系统的负载检测代理软件。
2)固定类:
按照固定顺序循环或随即将用户服务请求转发到服务器上面。用在某些特殊的场合,例如服务器端对不正确的服务请求不响应或返回数据不正常。
5.IIDR算法:
在实际应用中,由于服务器端常常存在着CGI程序,这些程序会将用户的信息保存在服务器的内存中,如果负载分担系统不能识别用户来源,就会将同一个用户的请求分布到不同的服务器上,就会导致无法正常运行程序。
而天网防火墙的负载负担模块采用独有的IIDR(智能身份识别)算法,能够保证同一个用户的CGI请求可以保留在同一台服务器上,保证服务的正常运作。
6.天网防火墙负载分担模块:
采用分布式结构建造大规模的Internet应用,可以容纳大量的用户,然而在用户量增大到一定的情况下,负载分担服务器处于整个网络中心的位置,有可能反而成为服务系统的瓶颈。
天网防火墙负载分担模块在设计时采用的专用散列算法,保证系统即使在处理巨大的用户量(每秒同时连接数大于30000用户)下,网络效率仍然可以达到80%以上。
希望大家从中受益。