




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、負載均衡軟件實現(xiàn)方式之一-URL重定向方式有一種用軟件實現(xiàn)負載均衡的方式,是基于 :"URL重定向”的.先看看什么是 URL重定向:"簡單的說,如果一個網(wǎng)站有正規(guī)的 URL和別名URL,對別名URL進行重定向到正規(guī) URL, 訪問同一個網(wǎng)址,或者網(wǎng)站改換成了新的域名則把舊的域名重定向到新的域名,都叫URL重定向”( faq.php)"很多網(wǎng)絡協(xié)議都支持重定向"功能,例如在HTTP協(xié)議中支持Location指令,接收到這個指令的瀏覽器將自動重定向到Location指明的另一個URL上。"(這種方式,對于簡單的網(wǎng)站,如果網(wǎng)站是自己開發(fā)的,也在一定程
2、度上可行.但是它存在著較多 的問題:1、例如一臺服務器如何能保證它重定向過的服務器是比較空閑的,并且不會再次發(fā)送Location指令,Location指令和瀏覽器都沒有這方面的支持能力,這樣很容易在瀏覽器上形成一種死循環(huán)?!?、 在哪里放LOCATION也是一個問題。很有可能用戶會訪問系統(tǒng)的很多個不同URL,這個時候做起來會非常麻煩。并且,對URL的訪問,有的時候是直接過來的,可以被重定向,有的時候是帶著 SESSION之類的,重定向就可能會出問題。并且,這種做法,將負載均衡這 個系統(tǒng)級的問題放到了應用層,結(jié)果可能是麻煩多多。3、 這種方式一般只適用于HTTP方式,但是實際上有太多情況不僅僅是
3、HTTP方式了,特別是用戶如果在應用里面插一點流媒體之類的。4、 重定向的方式,效率遠低于IP隧道。5、這種方式,有的時候會伴以對服務器狀態(tài)的檢測,但往往也是在應用層面實現(xiàn),從而實 時性大打折扣。實際上,這種方式是一種對付”的解決方法,并不能真正用于企業(yè)級的負載均衡應用(這里企業(yè)級是指稍微復雜一點的應用系統(tǒng))可以看一下專業(yè)的負載均衡軟件是如何來實現(xiàn)的: sis theory.htm對比一下可以發(fā)現(xiàn),專業(yè)的負載均衡軟件要更適用于正規(guī)應用,而重定向方式則比較適用于一些簡單的網(wǎng)站應用。負載均衡軟件實現(xiàn)方式之二-基于DNS講到負載均衡,幾乎所有地方都必須要講一下基于DNS的方式,因為這實在是最基本、最
4、簡單的方式了。當然,也幾乎所有地方都說到這種方式的種種缺點,不過,既然很基本,就 還是要說明一下。下面這段講得很清楚:最早的負載均衡技術(shù)是通過 DNS來實現(xiàn)的,在DNS中為多個地址配置同一個名字, 因 而查詢這個名字的客戶機將得到其中一個地址, 從而使得不同的客戶訪問不同的服務器, 達 到負載均衡的目的。DNS負載均衡是一種簡單而有效的方法,但是它不能區(qū)分服務器的差異,也不能反映服務器的當前運行狀態(tài)。當使用DNS負載均衡的時候,必須盡量保證不同的客戶計算機能均勻獲得不同的地址。 由于DNS數(shù)據(jù)具備刷新時間標志, 一旦超過這個時間限制, 其他DNS 服務器就需要和這個服務器交互,以重新獲得地址數(shù)
5、據(jù),就有可能獲得不同IP地址。因此為了使地址能隨機分配,就應使刷新時間盡量短,不同地方的DNS服務器能更新對應的地址,達到隨機獲得地址,然而將過期時間設置得過短,將使 DNS流量大增,而造成額外的網(wǎng)絡問題。DNS負載均衡的另一個問題是,一旦某個服務器出現(xiàn)故障,即使及時修改了 DNS 設置,還是 要等待足夠的時間(刷新時間)才能發(fā)揮作用,在此期間,保存了故障服務器 地址的客戶計算機將不能正常訪問服務器。盡管存在多種問題,但它還是一種非常有效的做法,包括Yahoo在內(nèi)的很多大型網(wǎng)站都使用DNS。引自:負載均衡技術(shù)研究原文: tech.htm比較一下DNS方式與專業(yè)的負載均衡軟件如PCL負載均衡軟件
6、,會發(fā)現(xiàn) DNS的問題在于,一是往往不能根據(jù)系統(tǒng)與服務的狀態(tài)來判斷負載,二是往往不能建立較復雜的負載均衡算法,而最主要的是 DNS往往有緩存,簡單分配負載問題不大,如果是應用集群這個就是 無法接受的。那么,為什么象 Yahoo在內(nèi)的大型網(wǎng)站都使用DNS方式呢?因為對于門戶網(wǎng)站來講,應用形態(tài)單一且簡單,重要的是服務器數(shù)量與分布,而如果出現(xiàn)短時間對于少量用戶的服務中斷問題并不大(比如有100臺服務器,有一臺不行了,即使DNS有緩存,也關(guān)系不大, 用戶重新刷一下,就很可能又分配到其他機器上了)。但是,對于應用系統(tǒng)而言,比如兩三臺服務器,跑著比較復雜的應用,DNS方式就完全 不適合了,這個時候,就要用
7、專業(yè)的負載均衡軟件了。我們可以看一個實例,這樣會對專業(yè)化負載均衡軟件應該支持什么樣的應用有更多的理 解:36000人同時應用的負載均衡實例負載均衡軟件實現(xiàn)方式之三-LVSLVS是一個開源的軟件,可以實現(xiàn)LINUX平臺下的簡單負載均衡后面所附文章,講述了 LVS實現(xiàn)負載均衡的方法.因為文章較長,所以在轉(zhuǎn)載前,先總結(jié)一下LVS的優(yōu)缺點:優(yōu)點:1、開源,免費2、在網(wǎng)上能找到一些相關(guān)技術(shù)資源3、具有軟件負載均衡的一些優(yōu)點缺點:1、具有開源產(chǎn)品常有的缺點,最核心的就是沒有可靠的支持服務,沒有人對其結(jié)果負責2、功能比較簡單,支持復雜應用的負載均衡能力較差,如算法較少等。3、開啟隧道方式需重編譯內(nèi)核4、配置
8、復雜5、只支持LINUX,如果應用還包括 WINDOWS、SOLIRIS等就不行了因此,建議在簡單的LINUX應用中使用LVS復雜的應用,或者重要的應用,還是應該使用專業(yè)的負載均衡軟件,如富士通西門子公司的PCL負載均衡軟件。下面轉(zhuǎn)載一下如何使用LVS實現(xiàn)負載均衡:搭建集群負載均衡系統(tǒng)(原文: . p/20060707/2519.html)負載均衡集群是在應用服務器高負載的情況下,由多臺節(jié)點提供可伸縮的,高負載的服務器組以保證對外提供良好的服務響應;而LVS就是實現(xiàn)這一功能的技術(shù).實際上LVS是一種Linux操作系統(tǒng)上基于IP層的負載均衡調(diào)度技術(shù),它在操作系統(tǒng)核心層上,將來自IP層的TCP/U
9、DP請求均衡地轉(zhuǎn)移到不同的服務器,從而將一組服務器構(gòu)成一個高性能、高可用的虛擬服務器。使用三臺機器就可以用LVS實現(xiàn)最簡單的集群,如圖1所示。圖1 LVS實現(xiàn)集群系統(tǒng)結(jié)構(gòu)簡圖圖1顯示一臺名為Director的機器是前端負載均衡器,運行LVS目前只能在Linux下運行.可以針對 web、ftp、cache、mms甚至 mysql等服務做load balanee;后端兩臺機器稱之為RealServer,是需要負載均衡的服務器,可以為各類系統(tǒng),Linux、Solaris、Aix、BSD Windows都可,甚至Director本身也可以作為Real Server.本文將通過實際操作,重點介紹如何在R
10、edhat 9上用LVS構(gòu)建一個負載均衡集群,關(guān)于負載 均衡集群、LVS的詳細內(nèi)容,可參考如下信息:http:/www .linu / . r/lvs/part1/i ndex.shtml安裝LVSRedHat在9.0以后,就將ipvsadm這些套件去除,因此如果想使用 LVS(Linux Virtual Server), 就得自己重新編譯核心(kernel)。下載所需軟件下載ipvs補丁包從RedHat 9開始ipvs不再被預先編譯到了RedHat發(fā)行版的內(nèi)核中,我們需要從http:/www.li nu /softwar
11、e/ker nel-2.4下載新版的 ipvs,這里我們使用ipvs-1.0.9.tar.gz 這個版本.下載內(nèi)核 linux-2420.tar.gz這里需要強調(diào)的是由于所有的ipvs的補丁包都是為標準內(nèi)核開發(fā)的,所以安裝ipvs時不能使用RedHat光盤中的Kernel Source,而是需要去下載標準的內(nèi)核。所以我們從ftp:/ftp.ker /pub/l inu x/ker nel/得至 U sta ndard kern el li nu x-2.4.20.tar.gz下載ipvs管理工具 ipvsadm從 /
12、得至U ipvs 管理工具 ipvsadm-1.21.tar.gz, ipvsadm 是設置ipvs轉(zhuǎn)發(fā)方式和調(diào)度算法的工具.開始安裝安裝內(nèi)核源碼把 linux-2420.tar.gz 解壓到 /usr/src 目錄,生成了 /usr/src/linux 目錄;如果生成的是 /usr/src /linux-2.4.20 目錄,則要在 /usr/src 下建立一個連接In -s linux-2.4.20 linux ,因為在 ipvs-1.0.9中的 makefile 文件中默認指定 Kernel Source的路徑為:KERNELSOURCE = /usr/src/linux把ipvs補丁 P
13、atch到內(nèi)核源碼中把 ipvs-1.0.9.tar.gz 解壓縮到某個目錄,如 /test,生成了 /test/ipvs-1.0.9 目錄;進入 /test/ipvs- 1.0.9,依次執(zhí)行如下命令: make patchkernel、make in stallsource,將 ipvs 的 Patch 加載到 kernel 的 source 中。重新編譯支持 ipvs 的內(nèi)核進入 /usr/src/linux 目錄,分別執(zhí)行:make mrproper 為創(chuàng)建新的內(nèi)和配置做好準備make menuconfig 進行配置這里請確保 IP:Virtual Server Configuratio
14、n 中的選項設定都用 Mmake dep 檢測是否有相關(guān)的軟件包被使用make clean 為新內(nèi)核結(jié)構(gòu)準備源目錄樹make bzImage 創(chuàng)建內(nèi)核引導映像make modules 、 make modules_install 生成模塊make install 安裝新的內(nèi)核到指定位置并重新配置 grub.conf 到這里新內(nèi)核就安裝完畢了,請重啟并用此內(nèi)核引導系統(tǒng)安裝 ipvs 管理工具 ipvsadm當使用新內(nèi)核啟動后,就可以安裝 ipvsadm:tar xzvf ipvsadm-1.21.tar.gzcd ./ipvsadm-1.21makemake install 安裝完成后,執(zhí)行 i
15、pvsadm 命令,如果有如下信息出現(xiàn)則說明安裝成功了。rootleon c# ipvsadmIP Virtual Server version 1.0.9 (size=65536)Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn 到現(xiàn)在為止,支持負載均衡功能的 director 就安裝成功了,接下來我們可以通過 ipvsadm 來 配置一個負載均衡集群。構(gòu)建負載均衡集群這里我們假設局域網(wǎng)中有兩臺FTP服務器,IP分別為FTP1:10.83.33.
16、103,FTP2: 所提供的資料都是相同的,這可以通過無密碼 SSH登錄+RSYNC來保證數(shù)據(jù)一致,這非本文中電,故而略過我們提供給用戶的虛擬IP是00,而在后臺為這兩臺 FTP服務器實行LVS負載均衡的服務器的IP是3.這三臺均安裝 RedHat9系統(tǒng).我們最終要實現(xiàn)的目標是當用戶輸入ftp 00時,LVS負載均衡服務器系統(tǒng)會根據(jù)當時的負載情況,依據(jù)輪換策略來決定 Real Server到底是FTP1還是FTP2從而使得整個FTP服 務器的負載到達均衡 .目前 LVS 有三種負載平衡方式, NAT( Networ
17、k Address Tran slation), DR ( Direct Routi ng),IP Tunneling。其中,最為常用的是 DR方式,因此這里只說明 DR(Direct Rout in g)方式的LVS負 載平衡。其它兩種的詳細情況請參考 LVS-HOWTO.Director(即3)上執(zhí)行的設置為了方便我們將所有步驟寫成一個shell script.#!/bi n/bashecho "0" > /proc/sys/net/ipv4/ip_forward ( 關(guān)閉 ip_forward)echo "1" >
18、/proc/sys/net/ipv4/conf/all/send_redirects (開啟 ICMP Redirects)echo "1" > /proc/sys/net/ipv4/conf/default/send_redirects (開啟 ICMP Redirects)echo "1" > /proc/sys/net/ipv4/conf/ethO/send_redirects(開啟 ICMP Redirects)ifconfig eth0:100 00 broadcast 00 netmask
19、55 (設置虛擬IP)route add -host 00 dev eth0:100 (設置達到虛擬 Ip 的路由)ipvsadm -C 清空 ipvsadm table)ipvsadm -A -t 00:21 -s wrr (建立service rule,當前調(diào)度算法為加權(quán)輪叫調(diào)度)ipvsadm -a -t 00:21 -r 6 -g -w 3 (建立轉(zhuǎn)發(fā)規(guī)則) ipvsadm -a -t 00:21 -r -g -w 1(建立轉(zhuǎn)發(fā)規(guī)則)ipv
20、sadm (檢查當前 ipvsadm table)將此shell script加入到/etc/rc.local中,這樣在每次系統(tǒng)啟動時都可以自動運行進行設置了。Realserver(即 和 6)上的設置這里我們必須先修正real server上arp problem .這是因為在使用 VS/DR的時候,real server會在一塊網(wǎng)卡上綁定兩個IP,但linux在kernel 2.2.14以后就將eth0:1的NOARP FLAG關(guān)閉,這使得eth0:1僅僅是eth0的別名,任何對eth0:1的操作都對eth0有效,因此如果此時使 eth0:1 NO
21、ARP,則也使得eth0 NOARR這樣整個網(wǎng)卡都不會收到數(shù)據(jù)包,具體的說就是因為我 所有的機器都放在同一個網(wǎng)段,當該網(wǎng)段的Router接收到用戶對虛擬IP的TCP conn ection要求(即使用FTP登錄服務器)時,會先在網(wǎng)段中利用Arp request詢問誰有VIP的地址,而包含Director與Real Servers上所有的in terface,只要他有那個ip,都會發(fā)送 arp reply回去,造 成網(wǎng)段內(nèi)所有擁有Virtual IP的in terface都會reply給Router,最后結(jié)果就是看誰的速度快,Router就將該封包送給誰,如此會造成LVS的Server并無法發(fā)揮
22、其效果,而我們所希望的是只有 Director上的Virtual IP發(fā)送arp reply回去,因此需要利用 hidden這個pattch,將real server上的Virtual IP給隱藏起來,如此他就不會對Arp Request進行Reply,就可以解決 ARP的問題.具體步驟是:下載所需的軟件包從http:/www.ssi.bg/ja/ 得到hidden修正包,不同的核心使用相應的版本.請參考下表Patch Li nux 2.4 Createdhidde n-2.4.28-1.d iff 2.4.28 - 2.4.30 November 18, 2004hidde n-2.4.26
23、-1.d iff2.4.26 - 2.4.27 February 28, 2004hidde n-2.4.25-1.d iff2.4.25 February 19, 2004hidde n-2.4.20pre10-1.d iff2.4.20pre10 - 2.4.24 October 12, 2002hidde n-2.4.19pre5-1.d iff2.4.19pre5 - 2.4.20pre9 April 7, 2002hidde n-2.4.5-1.d iff2.4.5 - 2.4.19pre4Ju ne 2, 2001hidden-2.4.4-1.diff 2.4.4 April 29
24、, 2001Patch Linux 2.6 Createdhidden-2.6.9-1.diffhidden-2.6.4-1.diffhidden-2.6.3-1.diffhidden-2.5.67-1.diff2.6.9 - 2.6.11 October 19, 2004 2.6.4 - 2.6.8 March 12, 20042.6.3 February 19, 20042.5.67 - 2.6.2 April 9, 2003本例使用的內(nèi)核版本是 2.4.20-8, 因此下載 hidden-2.4.20pre10-1.diff 重新編譯內(nèi)核,修正 arp problem把 hidden-2
25、.4.20pre10-1.diff 放到 /usr/src/linux 下,用命令 patch -p1 < hidden-2.4.20pre10-1.diff 對 kernel 進行 patch 進入 /usr/src/linux 目錄,分別執(zhí)行: make mrproper 為創(chuàng)建新的內(nèi)和配置做好準備 make menuconfig 進行配置 make dep 檢測是否有相關(guān)的軟件包被使用 make clean 為新內(nèi)核結(jié)構(gòu)準備源目錄樹 make bzImage 創(chuàng)建內(nèi)核引導映像 make modules 、 make modules_install 生成模塊 make install
26、 安裝新的內(nèi)核到指定位置并重新配置grub.conf到這里新內(nèi)核就安裝完畢了 ,請重啟并用此內(nèi)核引導系統(tǒng)設置 Real server為了方便我們將所有步驟寫成一個shell script.#!/bin/bashecho "0" > /proc/sys/net/ipv4/ip_forward ( 關(guān)閉 ip_forward) ifconfig lo:100 00 broadcast 00 netmask 0xffffffff up ( 設置虛擬 IP) route add -host 00 dev lo:100 ( 設置達到虛擬 Ip 的路由 ) echo "1" > /proc/sys/net/ipv4/conf/all/hidden ( 開啟 No-ARP) echo "1" > /proc/sys/net/ipv4/conf/lo/hidden(開啟 No-ARP)將此 shell script 加
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 優(yōu)惠合同范本
- 光譜儀光度計項目風險分析和評估報告
- 2024-2030年中國丙型肝炎病毒核酸檢測試劑盒行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略研究報告
- 雞油菌加工項目申請報告
- 2025年甲基丙稀酰氧丙基三甲氧基硅烷項目可行性研究報告
- 燃煤鍋爐改造技術(shù)項目可行性研究報告申請報告
- 保潔服務安全合同范本
- 借款分期還合同范本
- 公共維修基金合同范本
- 2025年中國中短褲行業(yè)市場深度分析及未來發(fā)展趨勢預測報告
- 安徽省歷年中考語文現(xiàn)代文閱讀之非連續(xù)性文本閱讀6篇(截至2024年)
- 《典型的光器件AWG》課件
- 出血熱知識培訓課件
- 廣東省汕頭市潮南區(qū)2024-2025學年高一上學期期末教學質(zhì)量監(jiān)測英語試卷(無答案)
- 《快遞運營》課件-項目一 快遞運營認知
- 2024年度工業(yè)自動化設備維護保養(yǎng)及上門維修合同3篇
- 2025年公司總經(jīng)理年終總結(jié)工作報告
- 安徽省“江淮十?!?024屆高考化學一模試卷含解析
- 圖書外借服務計劃
- 軟考系統(tǒng)集成項目管理工程師教程完整版
- 危險性較大的分部分項工程清單和安全管理措施范文
評論
0/150
提交評論