如何用 DNS 做 多台 Web Server 的 Load Balancing ..





ottobian
2001-08-31, 05:03 PM
如何用 DNS 做 多台 Web Server 的 Load Balancing ..

因買不起 Layer 4 Switch , 聽說可以用 DNS 的設定來做到 Load Balancing ..

請教各位高手 , 我該如何做呢 ??




repsol
2001-09-01, 03:36 AM
你指的應該是dns的round robin

repsol IN A xxx.xxx.xxx.xxx ; Round-Robin
IN A xxx.xxx.xxx.xx1
IN A xxx.xxx.xxx.xx2
IN A xxx.xxx.xxx.xx3
IN A xxx.xxx.xxx.xx4

bind dns"大概"是這樣設的方式

http://dnsrd.nctu.edu.tw/
這邊有很詳細的document可以K....

jsonnet
2001-09-01, 04:54 PM
假設你有3台WEB SERVER IP : 200.1.100.1~3

在W2K DNS SERVER , 加入此3個IP的A記錄名稱皆相同即可 , 例如 :
WWW A 200.1.100.1
WWW A 200.1.100.2
WWW A 200.1.100.3

當第一位訪客來時就分派第一台WEB給他 , 第2位來時就分派第台依此類推下去 , 如果其中一台WEB SERVER掛掉的話 , DNS並不會知道一樣會照輪把掛掉的那台分派給進來瀏覽的訪客 , 此法並不算真正的Load Balancing

yaowe
2001-09-01, 11:39 PM
我記得bind > 8.1.2開始有支援"dlbDNS"

我們可以用"dname"方式來達到load balancing

ex:

www in dname pc1.xxx.xxx
www in dname pc2.xxx.xxx

它是根據排名服務算法,來確定最佳服務器

(以下摘錄"藍森林linux",gb->big5)

下是dlbDNS中的算法。如果一個服務器的請求是DNAME類型,那麼,服務器就會進行如下的一些動作:

1、確定在這個服務中參與的服務器的集合。
2、通過和每個服務器建立一個同步的非連接性的連接獲取每個參與的服務器的排名值。
3、根據返回的排名值,確定最佳服務器。
4、處理錯誤信息。


排名服務算法

一個排名服務運行在參與到動態負載平衡的每個服務器上,以下是算法:

1、從dlbDNS接收排名請求。
2、每一分鐘都對主機的排名進行計算,而不是在得到請求的時候才進行計算。因為回應時非常重要的一個因素。
3、確認主機排名是每分鐘都進行更新的。
4、處理錯誤情況,比如說dlbDNS在未等待主機回應的情況下關閉了UDP接口。

wei129
2001-09-03, 01:25 AM
最初由 ottobian
如何用 DNS 做 多台 Web Server 的 Load Balancing ..

因買不起 Layer 4 Switch , 聽說可以用 DNS 的設定來做到 Load Balancing ..

請教各位高手 , 我該如何做呢 ??

是可以用dns來做到負載平衡哦^^

你可使用ronud robin的方式來做到你要的功能哦

這樣是可以達到負載平衡,但是不能做到容錯哦!!