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

        ?

        Linux環(huán)境下負(fù)載均衡集群的實(shí)現(xiàn)

        2014-10-14 09:28:22李桃迎
        關(guān)鍵詞:計(jì)算機(jī)研究

        李 歐,陳 燕,李桃迎

        (大連海事大學(xué)交通運(yùn)輸管理學(xué)院,遼寧 大連 116026)

        0 引言

        計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)不斷發(fā)展,人們對(duì)互聯(lián)網(wǎng)的訪問(wèn)量呈爆炸式增長(zhǎng),網(wǎng)絡(luò)設(shè)備需要不斷升級(jí)才能滿足用戶的需求,一些網(wǎng)站所使用的服務(wù)器已經(jīng)相對(duì)落后[1]。這種情況下,很多企業(yè)開(kāi)始應(yīng)用集群系統(tǒng)來(lái)緩解訪問(wèn)量給網(wǎng)絡(luò)設(shè)備帶來(lái)的壓力,同時(shí)集群系統(tǒng)也能夠保證服務(wù)的可靠性[2]。

        負(fù)載均衡集群的實(shí)用性使得越來(lái)越多的人開(kāi)始對(duì)其進(jìn)行研究。郭成城、晏蒲柳研究了異構(gòu)Web服務(wù)器集群動(dòng)態(tài)負(fù)載均衡算法[3],張玉芳、魏欽磊、趙膺對(duì)基于負(fù)載權(quán)值的負(fù)載均衡算法做了相關(guān)研究[4],王霜、修保新、肖衛(wèi)東研究了Web服務(wù)器集群的負(fù)載均衡算法[5],陳一驕、盧錫城、時(shí)向泉等人研究了面向會(huì)話的自適應(yīng)負(fù)載均衡算法[6],曾碧卿、陳志剛研究了服務(wù)器集群系統(tǒng)的相關(guān)內(nèi)容[7],陳濤、肖儂、劉芳對(duì)元數(shù)據(jù)負(fù)載均衡機(jī)制進(jìn)行了一定的研究[8],饒磊、湯小春、侯增江研究了服務(wù)器集群負(fù)載均衡策略[9]。

        Tomcat與Apache單獨(dú)使用時(shí)存在一定的局限性,在解釋靜態(tài)網(wǎng)頁(yè)時(shí)Tomcat沒(méi)有 Apache快[10-11],同時(shí)Tomcat的可配置性沒(méi)有Apache好,而Apache不支持動(dòng)態(tài)頁(yè)面的處理。JK是Apache服務(wù)器的一個(gè)可插入模塊,它實(shí)質(zhì)上是Apache與Tomcat的連接器[12-13],同時(shí)它能夠提供負(fù)載均衡集群的功能。

        負(fù)載均衡算法是負(fù)載均衡集群的重要研究?jī)?nèi)容,目前已提出了一些調(diào)度算法,例如輪詢算法、加權(quán)輪詢算法、最小連接算法等[14-15]。

        鑒于此,本文采用Apache+JK+Tomcat架構(gòu)和輪詢算法來(lái)實(shí)現(xiàn)負(fù)載均衡集群。

        1 負(fù)載均衡集群架構(gòu)

        通過(guò)插件JK整合Apache與Tomcat的負(fù)載均衡集群架構(gòu)如圖1所示。

        圖1 負(fù)載均衡集群架構(gòu)

        當(dāng)用戶通過(guò)瀏覽器發(fā)出請(qǐng)求時(shí),請(qǐng)求首先會(huì)發(fā)送到Apache,判斷請(qǐng)求類型,如果請(qǐng)求是靜態(tài)的則由A-pache解析,并把結(jié)果返回給客戶端;如果是動(dòng)態(tài)的請(qǐng)求,如JSP等,Apache會(huì)把解析工作交給Tomcat,由Tomcat進(jìn)行解析,Tomcat處理完成后,結(jié)果仍是通過(guò)Apache返回給客戶端。JK在這個(gè)過(guò)程中起到調(diào)度的作用,根據(jù)負(fù)載均衡算法將解析工作合理分配給Tomcat,避免了一個(gè)Tomcat太忙,另一個(gè)空閑的情況的發(fā)生,這樣就可以達(dá)到分工合作,實(shí)現(xiàn)負(fù)載均衡,提高性能。

        2 負(fù)載均衡集群的實(shí)現(xiàn)

        在Linux環(huán)境下正確安裝配置相關(guān)軟件后,通過(guò)對(duì)Tomcat和Apache的配置實(shí)現(xiàn)負(fù)載均衡集群。

        2.1 Tomcat集群配置

        對(duì)Tomcat的配置文件server.xml進(jìn)行修改,修改Tomcat端口及屬性。

        首先將<Connector>修改成如下形式:

        < Connector port="8009"protocol="AJP/1.3"redirect-Port="8443"protocolhandlerclassname="org.apache.jk.server.jkcoyotehandler"/>

        需要注意的是,如果一臺(tái)機(jī)器上同時(shí)運(yùn)行多個(gè)Tomcat,需要將每個(gè) Tomcat對(duì)應(yīng)的 Connectorport端口設(shè)為不同的值,防止端口沖突。

        然后對(duì)<Engine>進(jìn)行修改,修改后的結(jié)果為:

        <Engine name="Catalina"defaultHost="localhost"jvm-Route="tomcat1">

        最后在<Host>下添加下面的內(nèi)容:

        < Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">

        < Manager className="org.apache.catalina.ha.session.BackupManager"

        expireSessionsOnShutdown="false"

        notifyListenersOnReplication="true"

        mapSendOptions="6"/>

        < Channel className="org.apache.catalina.tribes.group.GroupChannel">

        < Membership className="org.apache.catalina.tribes.membership.McastService"

        address="228.0.1.99"#廣播地址,同一組 Tomcat集群一樣

        port="45564"#同一組Tomcat集群一樣

        frequency="500"

        dropTime="3000"/>

        < Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"

        address="172.18.145.104"#修改為本機(jī) IP 地址

        port="5000"

        selectorTimeout="100"

        maxThreads="6"/>

        <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter" >

        < Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>

        </Sender>

        < Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>

        < Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>

        </Channel>

        <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"filter=""/>

        < Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

        < Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"

        tempDir="/tmp/war-temp/"

        deployDir="/tmp/war-deploy/"

        watchDir="/tmp/war-listen/"

        watchEnabled="false"/>

        < ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>

        < ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>

        </Cluster>

        需要注意的是Membershipaddress與port要求同一組Tomcat集群設(shè)置相同,Receiveraddress為本機(jī)IP地址,如果是在同一臺(tái)電腦上配置負(fù)載,要修改Receiverport,否則會(huì)產(chǎn)生端口沖突問(wèn)題。

        在第二臺(tái)機(jī)器將<Engine>修改為:

        <Engine name="Catalina"defaultHost="localhost"jvm-Route="tomcat2">

        將<Cluster>結(jié)點(diǎn)中<Receiver address>修改為:

        Receiver address="172.18.145.117"

        也就是第二臺(tái)機(jī)器的IP地址;其他配置與第一臺(tái)機(jī)器相同。

        2.2 Apache集群配置

        Step1 修改 Apache的配置文件 httpd.conf,在文件尾部追加以下內(nèi)容:

        LoadModulejk_module modules/mod_jk.so<Ifmodulemod_jk.c>

        #指定 workers.properties文件路徑

        JkWorkersFile/usr/local/apache/conf/workers.properties#指定JK相關(guān)內(nèi)容

        JkLogFile/usr/local/apache/logs/mod_jk.log

        JkLogLevel info

        JkLogStampFormat"[%a%b%d%H:%M:%S%Y]"JkOptions+ForwardKeySize+ForwardURICompat-Forward-Directories

        JkRequestLogFormat"%w%V%T%q%U%R"

        JkShmFile/usr/local/apache/logs/mod_jk.shm

        </IfModule>

        JkMount/* loadbalancer#所有的請(qǐng)求都交給loadbalancer處理

        #其中"loadbalancer"為在workers.propertise里指定的負(fù)載分配控制器

        Step2 根據(jù) Apache的配置文件 httpd.conf中workers.properties 文件路徑,創(chuàng)建 workers.properties文件。workers.properties文件用于對(duì)負(fù)載均衡的負(fù)載器worker(即Tomcat)進(jìn)行具體的登記,此處的2個(gè)Tomcat就作為2個(gè)worker被登記在這個(gè)文件中。workers.properties具體配置如下:

        workers.tomcat_home=/usr/local/apache-tomcat-7.0.47

        workers.java_home=/usr/local/java/jdk1.7.0_45

        ps=/

        worker.list=tomcat1,tomcat2,loadbalancer,status

        #the first tomcat

        worker.tomcat1.port=8009#對(duì)應(yīng) Tomcat的 server.xml中配置的ajp13端口號(hào)

        worker.tomcat1.host=172.18.145.104 #Tomcat1 的主機(jī)地址 worker.tomcat1.type=ajp13 #定向包協(xié)議

        worker.tomcat1.lbfactor=1 #Server的負(fù)載分配權(quán)重,值越高,分得的請(qǐng)求越多

        #the second tomcat

        worker.tomcat2.port=8009

        worker.tomcat2.host=172.18.145.117 #Tomcat2 的主機(jī)地址

        worker.tomcat2.type=ajp13

        worker.tomcat2.lbfactor=1

        #load balancer worker負(fù)載均衡控制器

        worker.loadbalancer.type=lb

        worker.loadbalancer.balanced_workers=tomcat1,tomcat2#指定分擔(dān)請(qǐng)求的Tomcat

        worker.loadbalancer.sticky_session=0

        worker.loadbalancer.sticky_session_force=0

        worker.status.type=status

        需要注意的是,如果sticky_session設(shè)置為1,表明使用粘性Session,即某用戶的請(qǐng)求第一次分發(fā)到哪臺(tái)Tomcat,后繼的請(qǐng)求會(huì)一直分發(fā)到此Tomcat服務(wù)器上處理[16]。sticky_session_force設(shè)置為0時(shí),表明如果集群中某臺(tái)Tomcat服務(wù)器在多次請(qǐng)求沒(méi)有響應(yīng)后,會(huì)將當(dāng)前的請(qǐng)求轉(zhuǎn)發(fā)到其它Tomcat服務(wù)器上處理[17]。

        3 負(fù)載均衡測(cè)試

        3.1 通信測(cè)試

        在Windows下新建一個(gè)Java Web工程Session-Test,在工程下新建 index.jsp,JSP頁(yè)面上顯示 Session ID、Key和Value。用Eclipse將編譯好的Java Web項(xiàng)目導(dǎo)出成war包,放置到Linux服務(wù)器上的Tomcat的Webapps目錄下。

        關(guān)閉2臺(tái)計(jì)算機(jī)的防火墻,并且開(kāi)啟2臺(tái)機(jī)器的網(wǎng)卡組播功能,以保證2臺(tái)機(jī)器之間能夠正常通信。

        啟動(dòng)同組Tomcat以及Apache。瀏覽器訪問(wèn)A-pache所在的主機(jī),從頁(yè)面顯示的session Id可以看出請(qǐng)求訪問(wèn)的是Tomcat1,不斷提交數(shù)據(jù),發(fā)現(xiàn)Tomcat1與Tomcat2輪流處理請(qǐng)求,將Tomcat2服務(wù)停止,繼續(xù)提交數(shù)據(jù),請(qǐng)求都由Tomcat1處理,在這個(gè)過(guò)程中session Id沒(méi)有發(fā)生變化,結(jié)果如圖2所示。由此可見(jiàn)負(fù)載均衡集群搭建成功。

        圖2 負(fù)載均衡集群通信測(cè)試結(jié)果

        3.2 性能測(cè)試

        使用JMeter作為服務(wù)器性能的測(cè)試工具,分別模擬1000名、1500名、2000名、2500名、3000名用戶對(duì)服務(wù)器進(jìn)行訪問(wèn),對(duì)單臺(tái)服務(wù)器的訪問(wèn)結(jié)果如表1所示,對(duì)采用負(fù)載均衡集群技術(shù)的服務(wù)器的訪問(wèn)結(jié)果如表2所示。

        表1 對(duì)單臺(tái)服務(wù)器的訪問(wèn)結(jié)果

        表2 對(duì)負(fù)載均衡集群系統(tǒng)的訪問(wèn)結(jié)果

        通過(guò)比較表1和表2可知,在訪問(wèn)量相同的情況下,負(fù)載均衡集群系統(tǒng)的平均響應(yīng)時(shí)間、50%用戶響應(yīng)時(shí)間、90%用戶響應(yīng)時(shí)間、最小響應(yīng)時(shí)間、最大響應(yīng)時(shí)間以及錯(cuò)誤率比單臺(tái)服務(wù)器有了很大的提高。實(shí)驗(yàn)結(jié)果表明,負(fù)載均衡集群系統(tǒng)的性能明顯高于單臺(tái)服務(wù)器。

        4 結(jié)束語(yǔ)

        負(fù)載均衡集群系統(tǒng)具有高性能、低價(jià)格、可擴(kuò)展性強(qiáng)等特點(diǎn),同時(shí)能夠合理地進(jìn)行業(yè)務(wù)量分配,使得集群中的設(shè)備充分發(fā)揮其處理能力。在分析和研究負(fù)載均衡集群的基礎(chǔ)上,本文在Linux環(huán)境下實(shí)現(xiàn)了負(fù)載均衡集群的搭建,測(cè)試結(jié)果表明該集群具有良好的效果。另外,負(fù)載均衡集群中業(yè)務(wù)量是根據(jù)負(fù)載均衡算法分配的,還需解決的問(wèn)題是改進(jìn)負(fù)載均衡算法,使業(yè)務(wù)量的分配更加合理。

        [1]Schroeder T,Goddard S,Ramamurthy B.Scalable Web server clustering technologies[J].Network,IEEE,2000,14(3):38-45.

        [2]高張,康小軍.提高Tomcat服務(wù)器運(yùn)行性能的研究[J].計(jì)算機(jī)與數(shù)字工程,2008,36(10):203-205.

        [3]郭成城,晏蒲柳.一種異構(gòu)Web服務(wù)器集群動(dòng)態(tài)負(fù)載均衡算法[J].計(jì)算機(jī)學(xué)報(bào),2005,28(2):179-184.

        [4]張玉芳,魏欽磊,趙膺.基于負(fù)載權(quán)值的負(fù)載均衡算法[J].計(jì)算機(jī)應(yīng)用研究,2012,29(12):4711-4713.

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

        [6]陳一嬌,盧錫城,時(shí)向泉,等.一種面向會(huì)話的自適應(yīng)負(fù)載均衡算法[J].軟件學(xué)報(bào),2008,19(7):1828-1836.

        [7]曾碧卿,陳志剛.服務(wù)器集群系統(tǒng)研究[J].計(jì)算機(jī)應(yīng)用研究,2004,21(3):186-187.

        [8]陳濤,肖儂,劉芳.對(duì)象存儲(chǔ)系統(tǒng)中自適應(yīng)的元數(shù)據(jù)負(fù)載均衡機(jī)制[J].軟件學(xué)報(bào),2013,24(2):331-342.

        [9]饒磊,湯小春,侯增江.服務(wù)器集群負(fù)載均衡策略的研究[J].計(jì)算機(jī)與現(xiàn)代化,2013(1):29-32.

        [10]Apache.Apache2.2 User’s Guide[EB/OL].http://httpd.apache.org,2014-06-16.

        [11]邊清剛,潘東華.Tomcat和Apache集成支持JSP技術(shù)探討[J].計(jì)算機(jī)應(yīng)用研究,2003(6):12-14.

        [12]劉尚旺,何東健,閆艷.Tomcat與 IIS或Apache服務(wù)器集成的應(yīng)用研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(10):2541-2543.

        [13]孫仁鵬.Tomcat與Apache集成的研究[J].電腦編程技巧與維護(hù),2011(14):6-8.

        [14]王春娟,董麗麗,賈麗.Web集群系統(tǒng)的負(fù)載均衡算法[J].計(jì)算機(jī)工程,2010,36(2):102-104.

        [15]周松泉.一種改進(jìn)的集群動(dòng)態(tài)負(fù)載均衡算法[J].計(jì)算機(jī)與現(xiàn)代化,2012(1):135-139.

        [16]吳少剛,陳曉玲.J2EE應(yīng)用服務(wù)器集群性能研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(18):4410-4412.

        [17]陳文超.淺析Tomcat Web服務(wù)器基于Apache的集群與負(fù)載均衡[J].科技資訊,2012(6):28-30.

        猜你喜歡
        計(jì)算機(jī)研究
        FMS與YBT相關(guān)性的實(shí)證研究
        2020年國(guó)內(nèi)翻譯研究述評(píng)
        遼代千人邑研究述論
        計(jì)算機(jī)操作系統(tǒng)
        穿裙子的“計(jì)算機(jī)”
        視錯(cuò)覺(jué)在平面設(shè)計(jì)中的應(yīng)用與研究
        科技傳播(2019年22期)2020-01-14 03:06:54
        基于計(jì)算機(jī)自然語(yǔ)言處理的機(jī)器翻譯技術(shù)應(yīng)用與簡(jiǎn)介
        科技傳播(2019年22期)2020-01-14 03:06:34
        計(jì)算機(jī)多媒體技術(shù)應(yīng)用初探
        科技傳播(2019年22期)2020-01-14 03:06:30
        EMA伺服控制系統(tǒng)研究
        信息系統(tǒng)審計(jì)中計(jì)算機(jī)審計(jì)的應(yīng)用
        手机在线观看亚洲av| 国产熟妇搡bbbb搡bb七区| 伊人久久综在合线亚洲不卡| 久久av一区二区三区下| 男女做羞羞事的视频网站| 色诱视频在线观看| 亚洲av日韩av不卡在线观看| 亚洲精品自拍视频在线观看| 亚洲av男人的天堂在线| 亚洲av综合一区二区在线观看| 免费a级毛片出奶水| 在线国产视频精品视频| 中文字幕有码久久高清| 国产精品无码av无码| 女同久久精品国产99国产精品| 日韩av无卡无码午夜观看| 亚洲熟妇一区二区蜜桃在线观看| 久久精品国产精品亚洲| 麻豆乱码国产一区二区三区| 欧美一级鲁丝片免费一区| 亚洲av熟女中文字幕| 久久久亚洲精品无码| 久久久久久久久久久熟女AV| 国产精品成人黄色大片| 99久久精品费精品国产一区二| 伊伊人成亚洲综合人网香| 男人的天堂av网站一区二区| 精品黄色国产一区二区| 精品九九人人做人人爱| 国产人妻黑人一区二区三区| 精品人妻中文字幕一区二区三区 | 无码人妻一区二区三区在线视频| 毛片无遮挡高清免费久久| 一区二区三区四区午夜视频在线 | 亚洲av无码xxx麻豆艾秋| 久久AV中文综合一区二区| 国产精品一区二区三区三| 日本一道综合久久aⅴ免费| 色一情一乱一伦一区二区三欧美 | 久久久久无码精品亚洲日韩| 日韩一二三四区免费观看|