一.计划摘要
由于网路的蓬勃发展,使得HTTP成为最重要的网路服务之一。很不幸地,硬体的发展远远跟不上网路交通成长的速度。单一的Web伺服器已经无法负担大型网站的流量,加上现在网站提供服务的多样化,因为容错(fault tolerance)的需要,业者多半会将每种服务分散到多台伺服器上,所以多伺服器已经是必然的趋势。
伴随着多伺服器的出现,负载平衡(Load Balance)也成为一门重要的研究课题。目前最普遍的作法是多Web伺服器搭配Round-Robin DNS来分配流量给后端的伺服器群。如图一,当客户端(Web Client)向www.cs.nthu.edu.tw发出要求,客户端会先向区域的DNS(Local DNS)询问www.cs.nthu.edu.tw的IP位址是多少,如果区域的DNS没有纪录的话,则会向掌管cs.nthu.edu.tw网域的DNS(Authorized DNS)询问,则Authorized DNS会以Round Robin的方式传回140.114.87.20 ~ 140.114.87.22其中一个位址。但是很明显的,上面的做法会因为Local DNS会快取(cache)网域名称和IP位址的对应,并且静态Round-Robin的方式将无法应付动态的网路流量变化,所以流量分配不均是可以预期的。再者,以上面的方法,DNS的设定必须被改变,又增加了环境架设的困难。

我们采用另外一种Web Switch的架构(如图二),也就是在所有的Web Node(文中会将Web Server及Web Node混用)前面加上一台Web Switch来做分配流量的工作,外面的客户端不能直接接触到后端的Server。
Web Switch不使用DNS来做流量分配的工作,避免DNS快取造成的流量无法掌控的问题,并且Web Switch可以快速且正确地获得后端Web Node的资讯,所以流量分配也会较之前的做法精确。在Web Switch的架构下我们不需要对现存的DNS系统做任何的修改,因为在DNS看来www.cs.nthu.edu.tw单纯就是一台机器。我们只需要在后端的Web Server丛集(Cluster)前加上我们实作的Web Switch,所以环境架设上也较之前做法简便。
[1] [2] [3] [4] [5] [6] 下一页

【责编:Yoyo】