自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

讀透DNS負(fù)載均衡的排名算法

網(wǎng)絡(luò) 網(wǎng)絡(luò)優(yōu)化 網(wǎng)絡(luò)運(yùn)維 算法
通過(guò)這篇文章,我們從算法和排名原理上來(lái)深層次的學(xué)習(xí)負(fù)載均衡的知識(shí)。另外以解析了DNS負(fù)載均衡的應(yīng)用意義,以及對(duì)它的發(fā)展前景進(jìn)行了簡(jiǎn)要的分析。

前面我們介紹了DNS負(fù)載均衡的一些概念,那么現(xiàn)在針對(duì)這種負(fù)載均衡技術(shù),我們?cè)賮?lái)討論一下相關(guān)的算法問(wèn)題,以及排名問(wèn)題。這個(gè)是在服務(wù)器負(fù)載應(yīng)用中很重要的一個(gè)概念。那么更多的知識(shí),我們還是從下文中來(lái)了解吧,望大家能對(duì)這方面的問(wèn)題有個(gè)總結(jié)。

負(fù)載均衡算法

最初,負(fù)載均衡只是為了允許DNS代理可以支持機(jī)器簇的概念,在這里,這些機(jī)器的功能都是類似的或者相同的。而且,它并不需要特別關(guān)心選擇了哪臺(tái)機(jī)器。這樣,負(fù)載就被平均地分配在一系列實(shí)際上并不相同的主機(jī)上。因?yàn)闄C(jī)器有著不同的配置和能力,這樣,我們就需要更加復(fù)雜的算法。

“循環(huán)算法A"可以以一種循環(huán)方式在服務(wù)器中平均的分配請(qǐng)求。但是,盡管這些請(qǐng)求是被動(dòng)態(tài)地處理,對(duì)于不同的性能特點(diǎn)的忽視使這種算法的一個(gè)問(wèn)題。

“負(fù)載平均算法A"可以根據(jù)服務(wù)器的負(fù)載分配請(qǐng)求。這個(gè)設(shè)計(jì)非常簡(jiǎn)單而且也較為低廉。但是這種算法卻不能應(yīng)付服務(wù)器在配置和潛力方面有差異的情況。

“排名算法A"基于如下所示的用戶的數(shù)目和負(fù)載平均的列表。這個(gè)算法是比較合理的,因?yàn)樗鶕?jù)最少的單個(gè)訪問(wèn)以及較低負(fù)載平均來(lái)進(jìn)行排名***主機(jī)的。這個(gè)算法在dlbDNS中確定***服務(wù)器的時(shí)候被使用。

WT_PER_USER=100

USER_PER_LOAD_UNIT=3

FUDGE=(TOT_USER-UNIQ_USER)*(WT_PER_USER/5)

WEIGHT=(UNIQ_USER*WT_PER_USER)+(USER_PER_LOAD_UNIT*LOAD)+FUDGE

在這個(gè)列表中,變量的名稱的含義如下:

TOT_USER:登錄的用戶的總數(shù)

UNIQ_USERS:登錄的不重復(fù)用戶的數(shù)目(比如說(shuō),用戶a和用戶b就是兩個(gè)不重復(fù)的用戶,而不管他們登錄了多少次)

LOAD:***一分鐘的負(fù)載平均乘100

WT_PER_USER:每個(gè)用戶的負(fù)載量

FUDGE:如果用戶多次登錄之后的修正參數(shù)

WEIGHT:服務(wù)器的排名

dlbDNS的使用

首先,我們從InternetSoftwareConsortium(http://www.isc.org/bind.html)下載BIND8.1.2(在BIND8.1.2中就支持了dlbDNS的特性),在示例中DNS被安裝在dydns.clinux.org上,在一個(gè)獨(dú)立的Linux工作站上進(jìn)行測(cè)試。請(qǐng)看我們的配置:

在我們的配置中,由一個(gè)新的屬性稱為DNAME被加入來(lái)區(qū)分參加到動(dòng)態(tài)負(fù)載均衡的主機(jī)。在我們上面這個(gè)配置中,我們可以看到,back1.dydns.clinux.org,back2.dydns.clinux.org和b.dydns.clinux.org被用來(lái)充當(dāng)www1.dydns.clinux.org的動(dòng)態(tài)負(fù)載,hack1.dydns.clinux.org,hack2.dydns.clinux.org和h.dydns.clinux.org被用來(lái)充當(dāng)www2.dydns.clinux.org的動(dòng)態(tài)負(fù)載。

服務(wù)器端的算法

以下是dlbDNS中的算法。如果一個(gè)服務(wù)器的請(qǐng)求是DNAME類型,那么,服務(wù)器就會(huì)進(jìn)行如下的一些動(dòng)作:

1、確定在這個(gè)服務(wù)中參與的服務(wù)器的集合。

2、通過(guò)和每個(gè)服務(wù)器建立一個(gè)同步的非連接性的連接獲取每個(gè)參與的服務(wù)器的排名值。

3、根據(jù)返回的排名值,確定***服務(wù)器。

4、處理錯(cuò)誤信息。

排名服務(wù)算法

一個(gè)排名服務(wù)運(yùn)行在參與到動(dòng)態(tài)負(fù)載均衡的每個(gè)服務(wù)器上,以下是算法:

1、從dlbDNS接收排名請(qǐng)求。

2、每一分鐘都對(duì)主機(jī)的排名進(jìn)行計(jì)算,而不是在得到請(qǐng)求的時(shí)候才進(jìn)行計(jì)算。因?yàn)榛貞?yīng)時(shí)非常重要的一個(gè)因素。

3、確認(rèn)主機(jī)排名是每分鐘都進(jìn)行更新的。

4、處理錯(cuò)誤情況,比如說(shuō)dlbDNS在未等待主機(jī)回應(yīng)的情況下關(guān)閉了UDP接口。

dlbDNS的好處

這個(gè)就不需要多說(shuō)了,除了可以充分地利用資源之外,因?yàn)槲覀兺ㄟ^(guò)DNS來(lái)實(shí)現(xiàn)負(fù)載均衡,這樣FTP和TELNET之類的程序也可以使用dlbDNS。

發(fā)展方向

目前,在通過(guò)BIND的代碼中,gethostbyname系統(tǒng)將不能正常工作,這個(gè)問(wèn)題可以通過(guò)一個(gè)主機(jī)和IP地址的列表的配置文件來(lái)解決。當(dāng)然,我們希望由一個(gè)更好的解決方法。

第二,排名算法還不完善,算法還不能考慮處理器的數(shù)目,對(duì)CPU和內(nèi)存的考慮會(huì)使得算法更加有效。

第三,在Linux服務(wù)器上,排名算法使用的是/proc文件結(jié)構(gòu)中的文件,這樣只能說(shuō)是動(dòng)態(tài)平衡配置,應(yīng)該還需要一個(gè)更加強(qiáng)大的設(shè)計(jì)。

備注:dlbDNS的源代碼可以從http://www.cs.twsu.edu/~hcvillia/acads/project/獲得。

責(zé)任編輯:佟健 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-04-20 12:07:17

DNS負(fù)載均衡

2010-05-10 14:15:54

DNS負(fù)載均衡

2010-04-26 17:19:26

DNS負(fù)載均衡

2019-03-18 10:44:41

負(fù)載均衡DNSUDP

2010-05-06 16:58:10

Dns負(fù)載均衡

2010-04-26 13:34:43

DNS負(fù)載均衡

2010-04-26 16:36:31

DNS負(fù)載均衡設(shè)置

2010-05-04 16:10:51

負(fù)載均衡算法

2010-04-26 16:30:00

DNS負(fù)載均衡

2018-04-10 10:49:17

負(fù)載均衡算法服務(wù)器

2016-11-01 11:38:50

DNS網(wǎng)站性能

2010-05-04 16:59:52

DNS負(fù)載均衡

2010-05-05 23:45:18

DNS負(fù)載均衡技術(shù)

2009-05-01 09:33:27

應(yīng)用交換負(fù)載均衡

2010-05-10 14:11:41

負(fù)載均衡算法

2023-09-06 13:58:01

負(fù)載均衡算法

2009-01-10 18:53:01

服務(wù)器ServerDNS

2016-01-08 10:53:48

DNS負(fù)載均衡跨云應(yīng)用

2019-12-27 09:29:46

負(fù)載均衡算法哈希算法

2024-12-20 12:12:19

Redis負(fù)載均衡節(jié)點(diǎn)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)