下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.星期八職場(chǎng)閱歷網(wǎng)xingqiba【現(xiàn)成閱歷助他快速完成任務(wù)】:.;網(wǎng)站負(fù)載平衡技術(shù)架構(gòu)閱歷作為業(yè)內(nèi)的門戶大站,新浪每天的訪問(wèn)量是驚人的。終究如何做好如此大訪問(wèn)量的負(fù)載平衡任務(wù),我們還是看看新浪內(nèi)部技術(shù)人員是怎樣說(shuō)的。AD: 記得上大學(xué)時(shí),我和好友老郭討論最多的話題便是:“像新浪這樣的網(wǎng)站是如何支撐如此宏大的訪問(wèn)量?也曾經(jīng)過(guò)各種手段,猜測(cè)新浪效力器的數(shù)量、操作系統(tǒng)和運(yùn)用軟件的版本一切都是那么奧秘。畢業(yè)那年,有幸參與新浪,終于一點(diǎn)點(diǎn)地揭開(kāi)了這層奧秘的面紗。2004年某廠商設(shè)備引見(jiàn)會(huì)上,我初次接觸到了負(fù)載平衡技術(shù)。之后的幾年時(shí)間,可以說(shuō)是負(fù)載平衡設(shè)備在網(wǎng)站推行的黃金迸發(fā)期。開(kāi)展到今天,一方面硬件設(shè)
2、備依然堅(jiān)持了強(qiáng)勁的實(shí)力,另一方面以LVS、Haproxy為代表的軟件負(fù)載平衡也異軍突起,被人們所認(rèn)可。在新浪,軟、硬件負(fù)載平衡并存的格局已有三年多的歷史了,除了既往積累的閱歷外,近一年來(lái),我們也看到了負(fù)載平衡所面臨的一些新挑戰(zhàn),在此跟大家分享。挑戰(zhàn)一:Web運(yùn)用對(duì)七層交換的依賴度越來(lái)越大,顯著添加了負(fù)載平衡器的壓力。七層交換技術(shù)的引入,極大地解放了架構(gòu)師和程序開(kāi)發(fā)人員,同時(shí)也使我們?cè)絹?lái)越習(xí)慣依賴于它,甚至直呼上癮。很難想象,假設(shè)沒(méi)有負(fù)載平衡器的話,現(xiàn)有Web架構(gòu)中的大量需求應(yīng)該如何實(shí)現(xiàn)? 在充分享用其便利性的同時(shí),我們也看到了一些隱憂。一方面越來(lái)越多的流量正從四層交換轉(zhuǎn)為七層交換;另一方面七層
3、交換的規(guī)那么也越來(lái)越趨于復(fù)雜。在雙重作用下,負(fù)載平衡器的壓力急劇上升。對(duì)于任何一臺(tái)負(fù)載平衡器來(lái)說(shuō):支撐一樣的懇求量,七層交換所耗費(fèi)的CPU要遠(yuǎn)遠(yuǎn)高于四層交換。特別是在瞬間高并發(fā)銜接的突發(fā)流量面前,負(fù)載平衡器面臨著嚴(yán)峻的挑戰(zhàn)。挑戰(zhàn)二:微博等互聯(lián)網(wǎng)新興產(chǎn)品的出現(xiàn),對(duì)負(fù)載平衡器的運(yùn)維任務(wù)提出了更高的要求。微博不僅改動(dòng)著億萬(wàn)網(wǎng)民的生活,而且也正悄然推進(jìn)著運(yùn)維體系的建立。首先,與傳統(tǒng)的新聞、博客相比,微博用戶對(duì)效力質(zhì)量的敏感度更高,而且這種敏感度會(huì)伴隨著一次次的“和“轉(zhuǎn)發(fā)傳播分散。在過(guò)去,當(dāng)用戶訪問(wèn)新浪效力感到慢時(shí),反映的渠道多是打客戶。而如今只需求在微博上一個(gè)簡(jiǎn)單的“ 就可以與新浪的客服和技術(shù)人員直接
4、溝通。作為流量進(jìn)出的一個(gè)關(guān)卡,當(dāng)微博等線上關(guān)鍵業(yè)務(wù)出現(xiàn)訪問(wèn)異?;蛉秉c(diǎn)時(shí),工程師們都迫切地想知道:是負(fù)載平衡器的問(wèn)題嗎?此時(shí)缺點(diǎn)診斷的效率顯得至關(guān)重要。在實(shí)踐任務(wù)中我們發(fā)現(xiàn):?jiǎn)渭円劳胸?fù)載平衡器提供的CPU、內(nèi)存、銜接數(shù)等統(tǒng)計(jì)信息,還缺乏以發(fā)現(xiàn)一些隱蔽問(wèn)題。傳統(tǒng)的抓包分析耗時(shí)耗力且效果不佳,再加上有些缺點(diǎn)景象與客戶端、后臺(tái)效力器上的某些特殊設(shè)置有著千絲萬(wàn)縷的聯(lián)絡(luò),一切這些交錯(cuò)在一同,給我們?nèi)秉c(diǎn)診斷帶來(lái)了不小的挑戰(zhàn)。例如有次我們發(fā)現(xiàn):負(fù)載平衡器偶爾會(huì)給客戶端前往HTTP 5xx的呼應(yīng),當(dāng)時(shí)特想快速地知道終究是什么樣的HTTP懇求會(huì)觸發(fā)這樣的景象。但惋惜的是,負(fù)載平衡器上僅有統(tǒng)計(jì)數(shù)字而沒(méi)有懇求的完好記
5、錄。在花了很大力氣抓包分析后,最終定位到是由于后臺(tái)一個(gè)PHP程序不小心給頁(yè)面設(shè)置了一個(gè)錯(cuò)誤的HTTP Header,導(dǎo)致Web Server的HTTP呼應(yīng)不能被負(fù)載平衡器所接受,最終給客戶端前往5xx。因此在缺點(diǎn)診斷方面,我們需求有更先進(jìn)的理念和手段。其次,微博在國(guó)內(nèi)正處于快速生長(zhǎng)期,會(huì)隨時(shí)根據(jù)訪問(wèn)量來(lái)靈敏調(diào)整效力器的數(shù)量和系統(tǒng)架構(gòu)。在這種快速靈敏的變化面前,負(fù)載平衡器相關(guān)的配置調(diào)整任務(wù)也隨之添加:頻繁的上下線效力器、變卦七層規(guī)那么等。面對(duì)這種情況,我們需求思索:如何能更加快速平安地完成好這些變卦、如何能防止工程師每天被動(dòng)地墮入這些反復(fù)煩瑣的任務(wù)中等。目前一些硬件設(shè)備提供了API接口,像增刪S
6、erver、調(diào)整Server 權(quán)重等這類風(fēng)險(xiǎn)性極低的操作可經(jīng)過(guò)API接口操作,以到達(dá)提高效率的目的。而Haproxy、LVS那么缺乏這樣的 API接口,需求單獨(dú)開(kāi)發(fā)。除此之外,關(guān)鍵運(yùn)用對(duì)負(fù)載平衡器的監(jiān)控也有越來(lái)越多的新需求。比如:有些運(yùn)用希望當(dāng)負(fù)載平衡器檢測(cè)到效力器池中活潑的效力器數(shù)量少于一定比例后,便提早給系統(tǒng)管理員作出預(yù)警;及時(shí)發(fā)現(xiàn)效力器池中權(quán)重等設(shè)置不合理的問(wèn)題等。挑戰(zhàn)三:多核處置器時(shí)代下,Haproxy等用戶態(tài)的軟件負(fù)載平衡正面臨新的性能瓶頸。近幾年來(lái)CPU開(kāi)展進(jìn)入了多核時(shí)代,CPU由過(guò)去的單核開(kāi)展到四核、六核、八核、十二核,甚至更多,而主頻那么變化不大。在這種趨勢(shì)下,充分利用多核特性
7、顯得尤為重要。但在我們研討中發(fā)現(xiàn),像Haproxy這類基于用戶態(tài)的軟件負(fù)載平衡,其對(duì)CPU主頻的依賴度要遠(yuǎn)遠(yuǎn)高于CPU核數(shù)。換言之,在高主頻、核數(shù)少CPU下的性能很有能夠要優(yōu)于低主頻、核數(shù)多的CPU。這一點(diǎn),在Haproxy效力器選型時(shí)尤為重要。據(jù)我們分析,這主要是由于操作系統(tǒng)對(duì)多核多CPU下的并發(fā)支持度還不夠好。挑戰(zhàn)四:軟件負(fù)載平衡開(kāi)展路上的“雞蛋-籃子實(shí)際的困難選擇。硬件負(fù)載平衡器往往以單臺(tái)高性能著稱,而Haproxy、LVS為代表的軟件負(fù)載平衡的優(yōu)勢(shì)那么在于本錢低廉、可靈敏定制,其性能與效力器CPU、網(wǎng)卡等硬件直接相關(guān)當(dāng)然特殊的優(yōu)化也很重要。正如前面提到的,當(dāng)七層交換流量越來(lái)越大時(shí),我們
8、終究是該投入本錢讓單臺(tái)LVS、Haproxy足以支撐如此大的流量,還是讓更多中等性能的效力器共同分擔(dān)這些流量呢?這就是所謂的經(jīng)典的“雞蛋籃子實(shí)際:終究該不該將雞蛋放到一個(gè)籃子里呢?其實(shí)不同的選擇各有利弊。23年前,我比較贊同將流量分?jǐn)偟蕉嗯_(tái)軟件負(fù)載平衡器上,當(dāng)時(shí)主要思索到風(fēng)險(xiǎn)的分散。而如今,我更傾向于將流量集中于一臺(tái)上。之所以這樣,是從以下四個(gè)角度思索的。第一,目前國(guó)內(nèi)IDC內(nèi)每個(gè)機(jī)架所放效力器數(shù)量跟電力配額直接相關(guān)。而負(fù)載平衡由于其特殊性,往往是兩臺(tái)為一組,這樣每添加一組都會(huì)添加額外的電力開(kāi)銷,特別是在電力資源緊張的IDC內(nèi),提高單臺(tái)軟件負(fù)載平衡器的承載才干可以為關(guān)鍵業(yè)務(wù)騰出更多的機(jī)架來(lái)。第
9、二,從效力穩(wěn)定角度思索,我們通常會(huì)將LVS、Haproxy直連中心交換機(jī),如此一來(lái),每添加一組,就意味著會(huì)占用更多的中心交換機(jī)端口資源。第三,是基于管理本錢的思索。LVS、Haproxy之所以能在新浪得到廣泛運(yùn)用,較低的管理本錢是重要緣由之一。在新浪我們經(jīng)過(guò)一套集中管理平臺(tái)和快速初始化的方法實(shí)現(xiàn)了運(yùn)維本錢的非線性添加。但不可否認(rèn)的是,每新增一組,運(yùn)維本錢或多或少總會(huì)添加一些。之前也曾設(shè)計(jì)過(guò)一套“同機(jī)房?jī)?nèi)負(fù)載平衡器的集群池方案,即:在一個(gè)機(jī)房?jī)?nèi)主備機(jī)的數(shù)量比不再固定為1:1, 虛擬IPVIP會(huì)根據(jù)集群池中每臺(tái)Haproxy/LVS的負(fù)載情況,動(dòng)態(tài)地“漂在其中某臺(tái)上。但后來(lái)發(fā)現(xiàn)這個(gè)“聽(tīng)起來(lái)很美的方
10、案,在實(shí)踐運(yùn)轉(zhuǎn)中遇到了種種問(wèn)題,運(yùn)維本錢不降反升。最終我們又回歸了傳統(tǒng)的1臺(tái)Active+1臺(tái)Standby的方式,正所謂簡(jiǎn)單即是美。第四,目前硬件負(fù)載平衡器正朝著“更高的性價(jià)比方向開(kāi)展,換句話來(lái)講,假設(shè)我們不提升軟件負(fù)載平衡器的單機(jī)支撐才干,那么終有一天,其與硬件設(shè)備相比的本錢優(yōu)勢(shì)將會(huì)淡去。挑戰(zhàn)五:在新時(shí)期下,如何找到負(fù)載平衡的最正確軟硬結(jié)合之道?朋友、同行聚會(huì)時(shí),常有人問(wèn)我:“他們有了Haproxy、LVS后,會(huì)不會(huì)不買硬件設(shè)備了?、“他最近又在山寨什么?每次聽(tīng)到這些,我都會(huì)悄然一笑。如前文所述,Haproxy、LVS這類的軟件負(fù)載平衡和硬件設(shè)備各有優(yōu)勢(shì),在我看來(lái),負(fù)載平衡的“軟、“硬處理
11、方案并非水火不容,只需找到最正確的軟硬結(jié)合之道,魚(yú)和熊掌還是可以兼得的。下面是我們?cè)陂L(zhǎng)期探求中,總結(jié)出來(lái)的一些閱歷。軟件負(fù)載平衡可優(yōu)先承當(dāng)四層交換流量,讓硬件設(shè)備更專注于七層交換:由于任務(wù)方式和原理的不同,專注于四層交換的LVS在穩(wěn)定性、單機(jī)支撐才干、易維護(hù)性、管理本錢等多方面均要大大優(yōu)于Haproxy。特別是在DR方式即單臂下, 單臺(tái)LVS足以應(yīng)對(duì)絕大多數(shù)業(yè)務(wù)的訪問(wèn)量。優(yōu)先保證“明星產(chǎn)品占用珍貴的硬件設(shè)備資源:這里指的“明星產(chǎn)品是指那些用戶群正處于快速增長(zhǎng),并被廣泛追捧的熱點(diǎn)互聯(lián)網(wǎng)產(chǎn)品,例如微博。思索到負(fù)載平衡器一旦發(fā)生異常或宕機(jī)后,將對(duì)產(chǎn)品的佳譽(yù)度和用戶體驗(yàn)產(chǎn)生一定程度的影響,這屬于無(wú)形本
12、錢的損失。正所謂“好鋼要用在刀刃上,我們可以優(yōu)先將這類流量放到硬件負(fù)載平衡器上。對(duì)于必需采用七層交換的重點(diǎn)效力來(lái)說(shuō),盡量防止同一重點(diǎn)效力的流量全部放在軟件負(fù)載平衡器上。例如某重點(diǎn)效力分布于四個(gè)IDC內(nèi),那么可思索兩個(gè)IDC內(nèi)運(yùn)用Haproxy,另外兩個(gè)IDC運(yùn)用硬件設(shè)備。這樣一方面可以在一定程度上躲避運(yùn)用Haproxy能夠帶來(lái)的風(fēng)險(xiǎn),另一方面也方便對(duì)軟、硬件負(fù)載平衡器的穩(wěn)定性、呼應(yīng)時(shí)間等進(jìn)展長(zhǎng)期對(duì)比察看。要充分利用好同一IDC內(nèi)的軟、硬件負(fù)載平衡器,當(dāng)一方負(fù)載高時(shí),另一方可協(xié)助其分擔(dān)流量,緩解燃眉之急。總而言之,在負(fù)載平衡方面的支出正所謂該花那么花、該省那么省,合理運(yùn)用可以讓他在保證效力穩(wěn)定的
13、前提下,獲得最正確的投入產(chǎn)出比。挑戰(zhàn)六:軟件負(fù)載平衡器的資源復(fù)用,在降低本錢的同時(shí),同時(shí)也面臨著一定的運(yùn)維風(fēng)險(xiǎn)。目前我們的軟件負(fù)載平衡器分布于全國(guó)各地,其中一些中小規(guī)模IDC內(nèi)的軟件負(fù)載平衡器的負(fù)載并不是特別高,而這些機(jī)房普遍又需求VPN、自動(dòng)安裝等效力,單獨(dú)為這些效力再放12組效力器顯得很不劃算。因此我們想到對(duì)軟件負(fù)載平衡器進(jìn)展資源的復(fù)用,即:在軟件負(fù)載平衡器上同時(shí)運(yùn)轉(zhuǎn)VPN等效力。在實(shí)踐中發(fā)現(xiàn),這種資源復(fù)用面臨兩方面的風(fēng)險(xiǎn):一是VPN、自動(dòng)安裝、負(fù)載平衡能夠分屬于不同的管理員,這樣大家對(duì)同臺(tái)效力器進(jìn)展操作會(huì)增大因配置沖突、操作不當(dāng)?shù)葘?dǎo)致的效力間相互影響的概率;二是非負(fù)載平衡的效力能夠會(huì)突發(fā)占用過(guò)多的CPU或網(wǎng)絡(luò)資源,對(duì)正常的負(fù)載平衡效力呵斥了一定的影響。由于LVS、Haproxy效力的特殊性,像Xen這類經(jīng)過(guò)虛擬化來(lái)實(shí)現(xiàn)資源隔離的方法又不太適用;對(duì)效力器流量進(jìn)展QOS設(shè)置,雖然可以起到一定的效果,但配置方面還是有些煩瑣。還有更好的方法嗎?這確實(shí)值得我們思
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 代理記賬服務(wù)合同樣本
- 2024山地林權(quán)承包合同范本
- 工程質(zhì)量責(zé)任合同范本閱讀
- 常見(jiàn)勞務(wù)協(xié)議書(shū)樣本
- 2024年度品牌授權(quán)合同標(biāo)的及相關(guān)服務(wù)說(shuō)明
- 海洋貨品運(yùn)輸合同范本
- 2024個(gè)人機(jī)動(dòng)車買賣合同模板
- 房屋買賣違約賠償協(xié)議
- 2024合同交底的具體步驟合同交底范本條文2
- 基礎(chǔ)版員工勞動(dòng)合同書(shū)樣本
- 第四節(jié) 烤瓷熔附金屬全冠的制作工藝流程
- 建筑施工現(xiàn)場(chǎng)安全警示牌標(biāo)示(標(biāo)志圖片)
- 設(shè)計(jì)單位考察評(píng)價(jià)表
- 交通銀行企業(yè)文化理念
- 土壤板結(jié)與改良方法.ppt
- 盤縣地域分異匯總
- aspcms后臺(tái)操作說(shuō)明書(shū)
- 免疫學(xué)發(fā)展簡(jiǎn)史及展望PPT課件
- 熱水供暖設(shè)計(jì)說(shuō)明
- 個(gè)人上學(xué)簡(jiǎn)歷模板
- 冀教版八年級(jí)英語(yǔ)上冊(cè)Unit 7 Lesson 37 What’s Your Hobby課件(共16張PPT)
評(píng)論
0/150
提交評(píng)論