亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        LVS集群調(diào)度算法的實(shí)現(xiàn)分析

        2011-04-13 06:50:04王雪蓮曹青媚
        科技傳播 2011年4期
        關(guān)鍵詞:服務(wù)

        王雪蓮,曹青媚

        1.內(nèi)蒙古師范大學(xué)公共管理學(xué)院,內(nèi)蒙古 呼和浩特 010022

        2.內(nèi)蒙古農(nóng)業(yè)大學(xué)職業(yè)技術(shù)學(xué)院,內(nèi)蒙古 呼和浩特 010022

        0 引言

        網(wǎng)絡(luò)的快速發(fā)展和網(wǎng)絡(luò)用戶的日益增加,致使服務(wù)器面臨著巨大的挑戰(zhàn)。單臺(tái)服務(wù)器即使有再好的性能也很難滿足當(dāng)前日益增加的客戶并發(fā)訪問(wèn)的需求。而集群的出現(xiàn)緩解了這一問(wèn)題,它不再是單一的服務(wù)器,而由多個(gè)服務(wù)器共同分擔(dān)多個(gè)客戶的請(qǐng)求。集群系統(tǒng)具有可伸縮性、高性價(jià)比、高可用性的特點(diǎn),因此得到了廣泛的應(yīng)用[1]。而負(fù)載均衡是集群性能提高的關(guān)鍵因素之一,具有較高的研究?jī)r(jià)值和應(yīng)用前景。

        1 LVS集群體系結(jié)構(gòu)及軟件層次結(jié)構(gòu)

        LVS(Linux Virtual Server)全稱虛擬服務(wù)器,LVS集群由國(guó)防科技大學(xué)章文嵩博士研發(fā)的,主要解決的是集群的負(fù)載均衡。

        1.1 體系結(jié)構(gòu)

        LVS集群體系結(jié)構(gòu)一般采用三層結(jié)構(gòu),由前端調(diào)度器層、中間服務(wù)器集群層和后端存儲(chǔ)系統(tǒng)層組成[2]。調(diào)度器是整個(gè)集群的前端機(jī),是集群的唯一入口。當(dāng)有客戶請(qǐng)求時(shí),首先要經(jīng)過(guò)調(diào)度器,它根據(jù)調(diào)度算法負(fù)責(zé)將客戶請(qǐng)求分配到服務(wù)器集群中的某一臺(tái)。客戶感覺好像服務(wù)是來(lái)自一個(gè)集群IP地址,即所謂的虛擬IP,集群內(nèi)部對(duì)客戶是透明的。該集群中某一臺(tái)服務(wù)器執(zhí)行完請(qǐng)求后將數(shù)據(jù)返回給客戶。多臺(tái)服務(wù)器結(jié)構(gòu)緩減了集群的負(fù)載,體現(xiàn)了集群的可伸縮性。后端存儲(chǔ)系統(tǒng)為服務(wù)器集群提供相同的服務(wù),使得服務(wù)器集群有相同的內(nèi)容。

        1.2 軟件層次結(jié)構(gòu)

        圖1是調(diào)度器上的內(nèi)部軟件層次結(jié)構(gòu),在應(yīng)用層裝有一個(gè)ipvsadm管理軟件,該軟件由管理員進(jìn)行設(shè)置,以達(dá)到對(duì)LVS集群的管理。對(duì)該軟件管理員可以設(shè)置LVS的工作模式、在內(nèi)核虛擬服務(wù)器表中增加或減少服務(wù)器IP地址、增加或刪除虛擬服務(wù),可以設(shè)置服務(wù)器的固定權(quán)值,配置要選擇的調(diào)度算法,然后將管理員設(shè)置的信息傳到內(nèi)核層。ipvsadm管理軟件主要通過(guò)ipvsadm.c文件經(jīng)過(guò)編譯后生成可執(zhí)行文件。該文件通過(guò)getopt_long()函數(shù),獲取管理員從終端輸入的命令,并對(duì)輸入的命令進(jìn)行解析,根據(jù)不同情況,將輸入的值賦給一個(gè)變量,通過(guò)變量將輸入命令傳到內(nèi)核,如果不設(shè)置權(quán)值,默認(rèn)的權(quán)值是1。

        圖1 軟件層次結(jié)構(gòu)

        在調(diào)度器的Linux內(nèi)核層有IPVS調(diào)度模塊,本文選取ipvs-1.0.9作為內(nèi)核調(diào)度補(bǔ)丁軟件[3],調(diào)度模塊中有十種調(diào)度算法,分別是輪轉(zhuǎn)法(RR)、加權(quán)輪轉(zhuǎn)(WRR)、最小連接(LC)、加權(quán)最小連接(WLC)、基于局部性的最少鏈接調(diào)度(LBLC)、帶復(fù)制的基于局部性最少鏈接調(diào)度(LBCR),最短預(yù)期延時(shí)調(diào)度(SED)、源地址散列調(diào)度(SH),目標(biāo)地址散列調(diào)度(DH)、不排隊(duì)調(diào)度(NQ)。在ipvs-1.0.9中十種調(diào)度算法分別存在于十個(gè).c文件中。這些調(diào)度算法都是以連接為粒度的。

        2 內(nèi)核調(diào)度算法的實(shí)現(xiàn)

        在調(diào)度模塊中每一種調(diào)度算法都存儲(chǔ)在一個(gè)結(jié)構(gòu)體類型相應(yīng)的變量中,10種調(diào)度算法有10個(gè)調(diào)度變量。本文介紹常用的4種調(diào)度算法:輪轉(zhuǎn)法(RR)、加權(quán)輪轉(zhuǎn)(WRR)、最小連接(LC)、加權(quán)最小連接(WLC)[4]。

        輪轉(zhuǎn)法、加權(quán)輪轉(zhuǎn)、最小連接、加權(quán)最小連接調(diào)度算法開始以動(dòng)態(tài)模塊加載到內(nèi)核,四個(gè)模塊分別是ip_vs_rr_init, ip_vs_wrr_init,ip_vs_lc_init,ip_vs_wlc_init,它們通過(guò)register_ip_vs_scheduler函數(shù)分別注冊(cè)到相應(yīng)調(diào)度算法的全局變量ip_vs_rr_scheduler、ip_vs_wrr_scheduler、ip_vs_lc_scheduler、ip_vs_wlc_scheduler中。這些都是ip_vs_scheduler結(jié)構(gòu)體類型的變量,為調(diào)度做準(zhǔn)備。ip_vs_scheduler數(shù)據(jù)結(jié)構(gòu)如表1所示:

        struct ip_vs_scheduler struct list_head n_list; 所有負(fù)載調(diào)度算法鏈表頭char *name ; 調(diào)度算法名稱atomic_t refcnt; 引用計(jì)數(shù)struct module *module; 調(diào)度算法模塊int (*init_service)(struct ip_vs_service *svc);調(diào)度算法初始化虛擬服務(wù)int (*done_service)(struct ip_vs_service *svc); 調(diào)度算法終止服務(wù)int (*update_service)(struct ip_vs_service *svc); 調(diào)度算法更新服務(wù)struct ip_vs_dest* (*schedule)(struct ip_vs_service *svc, struct iphdr *iph);從所有目的服務(wù)器鏈表中選擇一個(gè)要執(zhí)行任務(wù)的服務(wù)器

        注冊(cè)的4種調(diào)度算法變量的對(duì)應(yīng)值如表2所示:

        結(jié)構(gòu)體類型 變量1 變量2 變量3 變量4 ip_vs_scheduler ip_vs_rr_scheduler ip_vs_wrr_scheduler ip_vs_lc_scheduler ip_vs_wlc_scheduler n_list {0} {0} {0} {0}name "rr" "wrr" "lc" "wlc"refcnt ATOMIC_INIT(0)ATOMIC_INIT(0)ATOMIC_INIT(0)ATOMIC_INIT(0)module THIS_MODULE THIS_MODULE THIS_MODULE THIS_MODULE init_service() ip_vs_rr_init_svc ip_vs_wrr_init_svc ip_vs_lc_init_svc ip_vs_wlc_done_svc update_service() ip_vs_rr_update_svc ip_vs_wlc_init_svc done_service() ip_vs_rr_done_svc ip_vs_wrr_done_svc ip_vs_lc_done_svc ip_vs_wlc_update_svc schedule() ip_vs_rr_schedule ip_vs_wrr_update_svc ip_vs_lc_update_svc ip_vs_wrr_schedule ip_vs_lc_schedule ip_vs_wlc_schedule

        從表1和表2中可以看出四種調(diào)度算法中關(guān)鍵的是init_service(),done_service(),update_service(),schedule()幾個(gè)分量對(duì)應(yīng)算法的函數(shù),算法的核心思想一般體現(xiàn)在schedule()分量。在調(diào)度模塊中有一個(gè)關(guān)鍵ip_vs_ctl.c文件,該文件用于控制各種調(diào)度算法,該文件中do_ip_set_ctl()函數(shù)主要用于添加、刪除虛擬服務(wù)和真實(shí)服務(wù)器。在do_ip_set_ctl()函數(shù)中有一個(gè)svc是ip_vs_service結(jié)構(gòu)體類型的變量,通過(guò)svc變量的操作實(shí)現(xiàn)對(duì)服務(wù)或服務(wù)器的管理。當(dāng)管理員進(jìn)行設(shè)置,添加某個(gè)虛擬服務(wù)時(shí),ipvs_add_service函數(shù)通過(guò)svc-> scheduler ->init_service()調(diào)用某個(gè)算法對(duì)應(yīng)分量函數(shù);編輯ip_vs_edit_service()或刪除ip_vs_edit()服務(wù)時(shí),通過(guò)svc-> scheduler ->done_service()調(diào)用某個(gè)算法對(duì)應(yīng)分量函數(shù)。添加新的服務(wù)器ip_vs_add_dest或修改服務(wù)器ip_vs_edit_dest時(shí),通過(guò)svc-> scheduler->update_service()調(diào)用某個(gè)算法對(duì)應(yīng)分量函數(shù)。當(dāng)有請(qǐng)求時(shí),調(diào)度器調(diào)用ip_vs_schedule()函數(shù)選擇某個(gè)算法,即通過(guò)該函數(shù)里的svc-> scheduler ->schedule()選擇已配置好的調(diào)度算法處理請(qǐng)求。

        3 結(jié)論

        本文就LVS集群的體系結(jié)構(gòu)、軟件層次結(jié)構(gòu)做了介紹,分析了內(nèi)核調(diào)度模塊 IPVS-1.0.9源代碼中四種常用調(diào)度算法的實(shí)現(xiàn)過(guò)程,為研究LVS調(diào)度模塊提供了一些參考。

        [1]朱璇,鄭緯民,汪東升,楊廣文.單一系統(tǒng)映象在機(jī)群管理中的實(shí)現(xiàn).計(jì)算機(jī)工程與應(yīng)用,2002.

        [2]黃曦.Web服務(wù)器集群負(fù)載均衡技術(shù)的應(yīng)用研究[D].重慶大學(xué),2004.

        [3]章文嵩.http://www.linuxvirtualserver.org/.

        [4]王霜,修保新,肖衛(wèi)東.Web服務(wù)器集群的負(fù)載均衡算法研究[J].計(jì)算機(jī)工程與應(yīng)用,2004,40(25):78-80.

        猜你喜歡
        服務(wù)
        自助取卡服務(wù)
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        高等教育為誰(shuí)服務(wù):演變與啟示
        招行30年:從“滿意服務(wù)”到“感動(dòng)服務(wù)”
        商周刊(2017年9期)2017-08-22 02:57:56
        亚洲色大成网站www久久九九| 国产在线a免费观看不卡| 日韩精品乱码中文字幕| av狠狠色丁香婷婷综合久久 | 日本精品久久久久中文字幕| 日韩高清在线观看永久| 国产九色AV刺激露脸对白| 国产精品亚洲最新地址| 日韩 亚洲 制服 欧美 综合 | 日韩精品第一区二区三区| 边喂奶边中出的人妻| 中文字幕国产欧美| 国产精品污一区二区三区在线观看| 性av一区二区三区免费| 97久久精品无码一区二区天美| 96精品在线| 日本高清一区在线你懂得 | 国自产精品手机在线观看视频| 日韩久久一级毛片| 中文字幕久久熟女人妻av免费| 国产精品一区二区三区专区| 丰满熟妇乱子伦| 色欲AV成人无码精品无码| 亚洲男人的天堂色偷偷| 国产中文三级全黄| 天天干成人网| 亚洲专区在线观看第三页| 精品国产一区二区三区av天堂| 国产午夜福利100集发布| 国产精品一区二区韩国AV| 国产自拍精品在线视频| 亚洲欧美v国产一区二区| 国产成人精品无码播放| 黄色三级视频中文字幕| 久久综合精品人妻一区二区三区| 国语精品一区二区三区| 蜜桃一区二区三区在线看| 人妻经典中文字幕av| 天堂а√在线最新版中文在线 | 欧美性受xxxx狂喷水| 亚洲AV成人无码国产一区二区|