1.基于特定服务器软件的负载均衡
这 种技术是利用网络协议的重定向功能来实现负载均衡的,例如在Http协议中支持定位指令,接收到这个指令的浏览器将自动重定向到该指令指明的另一个URL 上。由于和执行服务请求相比,发送定位指令对Web服务器的负载要小得多,因此可以根据这个功能来设计一种负载均衡的服务器。一旦Web服务器认为自己的 负载较大,它就不再直接发送回浏览器请求的网页,而是送回一个定位指令,让浏览器去服务器集群中的其他服务器上获得所需要的网页。在这种方式下,服务器本 身必须支持这种功能,然而具体实现起来却有很多困难,例如一台服务器如何能保证它重定向过的服务器是比较空闲的,并且不会再次发送定位指令?定位指令和浏 览器都没有这方面的支持能力,这样很容易在浏览器上形成一种死循环。因此这种方式实际应用当中并不多见,使用这种方式实现的服务器集群软件也较少。
2.基于DNS的负载均衡
DNS 负载均衡技术是最早的负载均衡解决方案,它是通过DNS服务中的随机名字解析来实现的,在DNS服务器中,可以为多个不同的地址配置同一个名字,而最终查 询这个名字的客户机将在解析这个名字时得到其中的一个地址。因此,对于同一个名字,不同的客户机会得到不同的地址,它们也就访问不同地址上的Web服务 器,从而达到负载均衡的目的。
这种技术的优点是,实现简单、实施容易、成本低、适用于大多数TCP/IP应用;但是,其缺点也非常明 显,首先这种方案不是真正意义上的负载均衡,DNS服务器将Http请求平均地分配到后台的Web服务器上,而不考虑每个Web服务器当前的负载情况;如 果后台的Web服务器的配置和处理能力不同,最慢的Web服务器将成为系统的瓶颈,处理能力强的服务器不能充分发挥作用;其次未考虑容错,如果后台的某台 Web服务器出现故障,DNS服务器仍然会把DNS请求分配到这台故障服务器上,导致不能响应客户端。最后一点是致命的,有可能造成相当一部分客户不能享 受Web服务,并且由于DNS缓存的原因,所造成的后果要持续相当长一段时间(一般DNS的刷新周期约为24小时)。所以在国外最新的建设中心Web站点 方案中,已经很少采用这种方案了。
3.基于四层交换技术的负载均衡
这种技术是在第四层交换机上设置Web服务的虚拟IP地 址,这个虚拟IP地址是DNS服务器中解析到的Web服务器的IP地址,对客户端是可见的。当客户访问此Web应用时,客户端的Http请求会先被第四层 交换机接收到,它将基于第四层交换技术实时检测后台Web服务器的负载,根据设定的算法进行快速交换。常见的算法有轮询、加权、最少连接、随机和响应时间 等。
4.基于七层交换技术的负载均衡
基于第七层交换的负载均衡技术主要用于实现Web应用的负载平衡和服务质量保证。它与第 四层交换机比较起来有许多优势:第七层交换机不仅能检查TCP/IP数据包的TCP和UDP端口号,从而转发给后台的某台服务器来处理,而且能从会话层以 上来分析Http请求的URL,根据URL的不同将不同的Http请求交给不同的服务器来处理(可以具体到某一类文件,直至某一个文件),甚至同一个 URL请求可以让多个服务器来响应以分担负载(当客户访问某一个URL,发起Http请求时,它实际上要与服务器建立多个会话连接,得到多个对象,例如. txt/.gif/.jpg文档,当这些对象都下载到本地后,才组成一个完整的页面)。
5.站点镜像技术
以上几种负载均衡技术主要应用于一个站点内的服务器群,但是由于一个站点接入Internet的带宽是有限的,因此可以把负载均衡技术开始应用于不同的网络站点之间,这就是站点镜像技术,站点镜像技术实际上利用了DNS负载均衡技术。
如何做镜像服务器--相关问题
问题:因为现在电信和网通的原因,很多网通的朋友总是反应速度慢,郁闷啊,我看到有的站可以自行选择是网通还是电信的,不知道,这个功能是怎么是实现的?
答案:
HTML代码
<html><head><meta http-equiv="Content-Type" content="text/htmlcharset=gb2312"></head><body bgColor=#D5D5D5>
<script>
i=1
var autourl=new Array()
autourl[1]="地址 1"
autourl[2]="地址 2"
autourl[3]="地址 3"
function auto(url)
{
if(i)
{
i=0
location=url
}}
function run()
{
for(var i=1
i<autourl.lengthi++)
document.write("<img src="+autourl[i]+"1.gif?"+Math.random()+" width=1 height=1 onLoad=auto('"+autourl[i]+"')>")
}
run()
</script></body></html>
然后在你每个空间的根目录放 1个较大图片 1.gif (最好 30 KB左右)
问题:分别有网通、电信服务器,想两个服务器内都放网站整站程序,我添加文件的时候是在电信网站上添加,想让网通网站上也自动同步与电信,我该怎么做啊
答案:
1。介绍
现在的网站随着访问量的增加,单一服务器无法承担巨大的访问量,有没有什么方便快捷的方式解决这个问题呢,答案是”有”!
比如建立服务器群,进行均衡负载。但是如果要解决像电信网通这样的互访问题(中国网民的悲哀),这个解决办法就无能为力了!
要解决这个问题最方便快捷的方式就是建立镜像网站!由访问者自己选择适合自己网络的速度最快的网站!这样即可以解决线路问题,又可以解决访问量问题!
2。网站同步的数据分类
网站数据基本分为两类:
一类是文件,比如HTML,ASP,PHP等网页文件,或者RAR,ZIP,RM,AVI等可下载文件!
要实现他们的同步很简单,用FTP同步软件就可以了!至于哪几个我会在后面做详细介绍。
一类是数据库数据文件,比如MySQL,SQL Server等等!
数据库同步的方法也很多,最简单的办法只是将数据库目录同步一下就OK了!
在后面我也会做详细讲解!
3。网站文件的同步
在这里用到的主要工具就是FTP,网站文件同步分两种情况,一种是本地到远程,一种是远程到远程(FXP)!第一种不用说了,第二种远程到远程即FXP,支持它的软件也很多,但是真正适合多网站同步镜像的却不多!
下面我介绍几个我认为不错的软件!
下面我介绍几个我认为不错的软件!
1.首先我要推荐的是国产的FTP软件”网络传神”,功能非常强大,特别是在网站的同步镜像方面,可惜的是,这款非常经典的软件已经不再更新了,最后更新时间是2003年3月,最后一个版本是3。12!虽然如此还是非常好用的!下面是一段官方的简介:
网络传神完全吸收了Cuteftp和UpdataNow的全部功能,并且增加了其他软件没有的多项功能:支持网站互传;支持网站同步(UPDATA NOW);支持后台上传(多线程上传多个文件);可同时打开多个站点;多站点计划上传功能,支持镜像站点;支持宏操作支持计划操作;支持文件高级比较上 传;支持目录隐藏过滤(为用ForntPage作主页的朋友带来福音);服务器自动识别功能;资源管理器 浏览方式;可以自定义命令;支持RFC959标准具有更好的稳定性;完备的信息返回机制及错误监控机制完整的中文帮助。
2.第二款是由ReGet同一开发公司制作的专用于网站同步的软件”WebSynchronizer”,用这款软件,你才会体验到网站同步的方便快捷,简单容易。最新版本是1。3。62, 网上能找到XX的最后版本是1。1版!下面是一段简介:
档案同步化工具 - WebSynchronizer,由知名续传软件 ReGet 之软件出版公司所推出,是网站同步化、档案镜像、档案备份的绝佳工具,可以执行下列主要工作:1) 本机资料夹及远程资料夹的同步化;2) 两台远程计算机中的资料夹同步化;3) 两个本机资料之同步化。
3.其他还有一些软件如同步快梭(AutoSyncFTP),也能实现简单的网站同步,不过,这款软件非常不稳定,而且2001年就已经停止开发。所以,不用考虑了!还有上次有朋友提到的SiteMirro,由于网上找不到可以用的版本,所以没有办法测试 !
一.需求分析最近公司软件Team 有个需求是这样的:能不能在局域网搭建一个Ubuntu 镜像服务器,
这样作的好处是可以节省Ubuntu某些常用工具的安装时间。
二.部署过程
2.1 测试环境
目前在公司内有一台能连接到外网的Ubuntu机器, IP : 192.168.8.173 ,
Ubuntu版本为Ubuntu 9.04 i686。
2.2 搭建步骤
为了创建Ubuntu mirror 服务器,最少需要60G硬盘空间,Ubuntu每个版本都有32 bit
和64 bit两个版本,有两组deb包。当然可以创建Ubuntu一个版本的32 bit 和64 bit 的
镜像服务器,也可以创建全部版本的镜像。
这里使用sohu 公司的mirror地址作为本地Ubuntu Source 服务器,使用sohu的原因是:
1. sohu的Ubuntu Source 服务器速度相当快
2. sohu 的ubuntu Source 服务器每天会和Ubuntu官方服务器同步一次,这样可以保
证我们使用的是最新的软件包。
修改方式如下:
root@ms ~: cat /etc/apt/sources.list
deb http://mirrors.sohu.com/ubuntu/ jaunty main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ jaunty-security main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ jaunty-updates main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ jaunty-proposed main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ jaunty-backports main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ jaunty main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-security main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-updates main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-proposed main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-backports main restricted universe multiverse
安装下面工具:
root@ms ~: apt-get install apt-mirror
root@ms ~: apt-get install apache2
下面就构建Ubuntu 9.04 32bit 的本地Ubuntu mirror 服务器为例子,来说明如何配置:
修改配置文件:
root@ms ~: cat /etc/apt/mirror.list
############# config ##################
#
# set base_path /var/spool/apt-mirror
#
# set mirror_path $base_path/mirror
# set skel_path $base_path/skel
# set var_path $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch
# set postmirror_script $var_path/postmirror.sh
set run_postmirror 0
set nthreads 20
set _tilde 0
#
############# end config ##############
deb-i386 http://mirrors.sohu.com/ubuntu jaunty main restricted universe multiverse
deb-i386 http://mirrors.sohu.com/ubuntu jaunty-security main restricted universe multiverse
deb-i386 http://mirrors.sohu.com/ubuntu jaunty-updates main restricted universe multiverse
#deb http://mirrors.sohu.comubuntu jaunty-proposed main restricted universe multiverse
#deb http://mirrors.sohu.comubuntu jaunty-backports main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu jaunty main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu jaunty-security main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu jaunty-updates main restricted universe multiverse
#deb-src http://mirrors.sohu.com/ubuntu jaunty-proposed main restricted universe multiverse
#deb-src http://mirrors.sohu.com/ubuntu jaunty-backports main restricted universe multiverse
#clean http://archive.ubuntu.com/ubuntu
备注:
deb-i386 http:// 表示下载32 bit 版本的deb 软件
deb http:// 表示下载64bit 版本的deb 软件
jaunty 表示Ubuntu 9.04的代号
设置完成后,输入下面命令:
root@ms ~: apt-mirror
这时系统会启动20个线程运行wget 到 http://mirrors.sohu.com/Ubuntu 下面下载相应的
deb包。时间比较的长,该命令执行完成后,/var/spool/apt-mirror目录下就有了所有需
要的deb包和相应的配置文件。
由于我是从sohu下载的,所以实际的文件在 :
/var/spool/apt-mirror/mirror/mirrors.sohu.com/ubuntu 目录下。
这样,本地就有了所有Ubuntu Source 服务器所需要的文件,然后开启相应的服务:
这里使用apache2作为Web服务器,默认根目录在/var/www/,所以可以在该目录下做
个链接,如下所示:
root@ms ~: cd /var/www
root@ms ~: ln /var/spool/apt-mirror/mirror/mirrors.sohu.com/ubuntu -s
开启web服务:
root@ms ~: apache2ctl start
打开浏览器输入下面地址即可看到和sohu mirror一样的页面:
http://192.168.8.173/ubuntu
同时也可以使用crontab进行每天的更新,修改配置文件:
root@ms ~: cat /etc/cron.d/apt-mirror
#
# Regular cron jobs for the apt-mirror package
#
#0 4 * * * apt-mirror /usr/bin/apt-mirror >/var/spool/apt-mirror/var/cron.log
把命令前面的“#”去掉即可,这样系统会自动使用apt-mirror去和sohu服务器更新。
最后,我们所要做得就是在客户端的机器上修改更新源配置文件,将地址改成本地
mirror服务器的地址即可,如下所示:
root@ms ~: cat /etc/apt/sources.list
deb http://192.168.8.173/ubuntu/ jaunty main restricted universe multiverse
deb http://192.168.8.173/ubuntu/ jaunty-security main restricted universe multiverse
deb http://192.168.8.173/ubuntu/ jaunty-updates main restricted universe multiverse
deb http://192.168.8.173/ubuntu/ jaunty-proposed main restricted universe multiverse
deb http://192.168.8.173/ubuntu/ jaunty-backports main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty-security main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty-updates main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty-proposed main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty-backports main restricted universe multiverse
执行“apt-get update”来重建本地索引,这样以后就会使用本地的Mirror 服务器进行更新
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)