專訪撫琴煮酒:漫談CDN運(yùn)維與電子商務(wù)運(yùn)維
原創(chuàng)【51CTO獨(dú)家專訪】運(yùn)維需要掌握各個(gè)方面的技術(shù)和知識(shí),如何才能少走彎路?在CDN做運(yùn)維和在電子商務(wù)網(wǎng)站做運(yùn)維有什么不同?在本次人物訪談中,我們邀請(qǐng)到了資深項(xiàng)目管理工程師余洪春(撫琴煮酒)跟我們分享他的一些經(jīng)驗(yàn)心得。
在之前的一些文章和訪談中我們也介紹過(guò),撫琴煮酒在2005年開(kāi)始正式進(jìn)入企業(yè)網(wǎng)管的崗位,在2007年到2009年之間在北京3158維護(hù)CDN系統(tǒng),后來(lái)回到武漢某外企任職高級(jí)Linux/Unix系統(tǒng)管理員、項(xiàng)目實(shí)施工程師,負(fù)責(zé)電子商務(wù)網(wǎng)站維護(hù)、內(nèi)網(wǎng)開(kāi)發(fā)環(huán)境部署、以及技術(shù)研發(fā)支持等工作。最近加盟新組建的電子商務(wù)網(wǎng)站一拍網(wǎng),擔(dān)任系統(tǒng)架構(gòu)師一職。
姓名 | 余洪春(撫琴煮酒) 英文名Andrew.Yu |
職位 | 武漢某外企高級(jí)Linux/Unix系統(tǒng)管理員、項(xiàng)目實(shí)施工程師,一拍網(wǎng)系統(tǒng)架構(gòu)師 |
技術(shù)特長(zhǎng) | 負(fù)載均衡高可用和中小型證券類(lèi)和商務(wù)網(wǎng)站架構(gòu) |
目前關(guān)注 | 網(wǎng)站架構(gòu)和網(wǎng)絡(luò)安全 |
個(gè)人博客 | http://andrewyu.blog.51cto.com/ |
51CTO:首先介紹一下您現(xiàn)在的情況吧。您現(xiàn)在加盟一拍網(wǎng),主要還是負(fù)責(zé)電子商務(wù)網(wǎng)站維護(hù)、內(nèi)網(wǎng)開(kāi)發(fā)環(huán)境部署和技術(shù)研發(fā)么?
撫琴煮酒:主要是負(fù)責(zé)電子商務(wù)網(wǎng)站維護(hù)和技術(shù)研發(fā)。由于是小公司,所以不存在內(nèi)網(wǎng)開(kāi)發(fā)環(huán)境這塊,程序這塊我們?nèi)客獍鋈チ耍还緵](méi)有程序員,肯定就不存在內(nèi)網(wǎng)開(kāi)發(fā)環(huán)境這一說(shuō)。
一拍網(wǎng)的網(wǎng)站架構(gòu)現(xiàn)在是我在設(shè)計(jì)。一開(kāi)始預(yù)算不多,前期規(guī)模不會(huì)很大,后期我會(huì)再增加四臺(tái)web服務(wù)器和四臺(tái)squid反向加速服務(wù)器,全部用二手的2950,這樣性價(jià)比最高!
51CTO:也就是相當(dāng)于現(xiàn)在更多還是偏向于生產(chǎn)環(huán)境運(yùn)維這一塊了。從酒哥的經(jīng)歷看來(lái),您自己對(duì)Windows、Linux/BSD服務(wù)器,網(wǎng)絡(luò)以及數(shù)據(jù)庫(kù)都有所涉獵。學(xué)了這么多方面的東西,您覺(jué)得從2005年正式開(kāi)始轉(zhuǎn)作企業(yè)網(wǎng)管到現(xiàn)在,發(fā)展的過(guò)程中有沒(méi)有哪些走了彎路的地方?
撫琴煮酒:我感覺(jué)在工作中有二個(gè)方面花了不少時(shí)間和精力,但收益非常之少;
一個(gè)方面,我有段時(shí)間很喜歡研究別人沒(méi)研究過(guò)的東東,比如DDNS,花了不少時(shí)間和精力做出來(lái)的實(shí)驗(yàn)卻沒(méi)法在生產(chǎn)環(huán)境中應(yīng)用,還有samba結(jié)合域控等,我也想提醒大家,建議大家學(xué)習(xí)和努力的方向,應(yīng)該是生產(chǎn)環(huán)境下能用得著的,大家真正在企業(yè)做事,領(lǐng)導(dǎo)真正看中的是你的經(jīng)驗(yàn),即你能夠迅速投入生產(chǎn)環(huán)境的技術(shù),而不是你會(huì)什么能什么;
第二個(gè)方面,我花了接近一年時(shí)間從事RHCE和Linux方面的教學(xué)工作,雖然認(rèn)識(shí)了不少朋友,也拓寬了自己的職業(yè)發(fā)展方向,但我個(gè)人覺(jué)得,這種工作性質(zhì)跟我目前從事的項(xiàng)目實(shí)施工程師還是很有距離,做講師雖然是一個(gè)知識(shí)沉淀的過(guò)程,但由于接觸不到生產(chǎn)環(huán)境,技術(shù)退步的反而性可能更大。
51CTO:就是說(shuō)如果希望在項(xiàng)目實(shí)施工程師方向成長(zhǎng),最有效的方式還是盡可能的多參與生產(chǎn)環(huán)境的項(xiàng)目,這樣才能知道企業(yè)真正需要什么技術(shù)么?
撫琴煮酒:恩,如果對(duì)自己有要求和不怕辛苦的話,建議多參加生產(chǎn)環(huán)境的項(xiàng)目實(shí)踐,這是一個(gè)方面。第二個(gè)方面建議在一些大公司和門(mén)戶網(wǎng)站做事。因?yàn)槿绻麤](méi)有足夠大的并發(fā)環(huán)境,許多開(kāi)源的新技術(shù)都用不上;大家現(xiàn)在可以關(guān)注下淘寶的新架構(gòu),用了不少自己開(kāi)發(fā)的新技術(shù),這個(gè)也是我們應(yīng)該關(guān)注的。企業(yè)真正需要的并不是什么技術(shù),它需要的是能做事的人,特別是能夠?yàn)樽约旱墓竟?jié)約錢(qián)的人,這也是現(xiàn)在Xen虛擬化和集群如何流行的原因之一!
51CTO:剛好您說(shuō)到節(jié)約錢(qián),那我就先順便問(wèn)一句:酒哥有沒(méi)有遇到過(guò)老板出于成本考慮不愿意添加服務(wù)器的情況?
撫琴煮酒:這種情況居多啊。像我現(xiàn)在做的許多小網(wǎng)站,就是因?yàn)榭蛻舨辉敢庠黾臃?wù)器,逼得我用HAProxy做1+2的架構(gòu);而公司用的測(cè)試服務(wù)器就不說(shuō)了,經(jīng)常是組裝的服務(wù)器,裝個(gè)VMware ESXI都裝不上,所以我只有花許多時(shí)間來(lái)測(cè)試VMware Server和思杰的XenServer5.6!
(編輯注:這也是撫琴煮酒寫(xiě)過(guò)很多虛擬化方面文章的原因。參考文章:
XenServer 5.6使用心得和常見(jiàn)問(wèn)題解答
FreeBSD 8.0下jail虛擬機(jī)完全實(shí)踐)
51CTO:難怪酒哥把各種虛擬化都試用了一圈。那么回到之前走彎路的那個(gè)話題。比如酒哥在07-09年間在北京3158負(fù)責(zé)維護(hù)CDN系統(tǒng)。那么07年之前,您對(duì)CDN系統(tǒng)有什么樣的理解?然后現(xiàn)在您要總結(jié)的話,維護(hù)CDN系統(tǒng)都需要哪些技術(shù)?
撫琴煮酒:CDN主要是用來(lái)解決高并發(fā)和南北互連的問(wèn)題,南北互連的問(wèn)題即電信和網(wǎng)通之間的問(wèn)題,CDN維護(hù)的技術(shù)含量非常高的,我覺(jué)得應(yīng)該至少具備:
一、極熟悉linux/FreeBSD系統(tǒng),我希望這方面的經(jīng)驗(yàn)至少是3-5年以上的,因?yàn)楹芏鄷r(shí)候我發(fā)現(xiàn),CDN系統(tǒng)都是基于FreeBSD的;
二、極熟練的配置Linux的集群技術(shù),比如LVS/Nginx/HAproxy,還有F5等硬件負(fù)載均衡,軟件級(jí)別的負(fù)載均衡我希望大家能到一個(gè)比較精的水平;
三、了解squid和varnish原理,能夠熟練的配置和優(yōu)化它們;還有Nginx,這個(gè)是基本功,這一點(diǎn)是玩CDN中最重要的,尤其是squid的優(yōu)化。
四、bind的智能view搭建和維護(hù),這個(gè)不多說(shuō)了,基本功;
五、熟悉至少一種數(shù)據(jù)庫(kù),能夠DBA一起交流,能夠設(shè)計(jì)數(shù)據(jù)庫(kù)架構(gòu)和切分,解決流量過(guò)大時(shí),數(shù)據(jù)庫(kù)的壓力問(wèn)題;
六、熟悉iptables的配置(這個(gè)看公司的需求了,有的公司有錢(qián),全硬防);
七、能夠熟練的配置openVPN,解決節(jié)點(diǎn)之間互連的問(wèn)題;
八、能夠用SHELL和puppet等分布式工具,解決和節(jié)點(diǎn)服務(wù)器自動(dòng)配置和同步的問(wèn)題。
CDN維護(hù)的技術(shù)含量非常高,我這里的要求只少不多,有些技術(shù)問(wèn)題我可能暫時(shí)也沒(méi)想到,因?yàn)楝F(xiàn)在CDN基本都是上億級(jí)的PV,并發(fā)一般都是上萬(wàn),這樣的環(huán)境是最鍛煉人的!
51CTO:CDN維護(hù)的工作聽(tīng)起來(lái)很復(fù)雜。相比之下,電子商務(wù)網(wǎng)站的運(yùn)維又有哪些特別值得注意的技術(shù)點(diǎn)呢?
撫琴煮酒:CDN我感覺(jué)是架子大,初期搭好比較難,但搭好以后維護(hù)就相對(duì)輕松一些,大家各司其責(zé)就行,每一個(gè)節(jié)點(diǎn)都有一組集群,集群中的某臺(tái)服務(wù)器出問(wèn)題也沒(méi)什么問(wèn)題;但電子商務(wù)就不一樣,我感覺(jué)每一天就像打仗一樣,因?yàn)闋可娴降亩际清X(qián),所以絲毫不能松懈,電子商務(wù)網(wǎng)站我覺(jué)得應(yīng)該掌握的技術(shù)有:
一、熟悉安全技術(shù),了解硬件防火墻性能,能熟悉的配置iptables和了解Linux/Unix相關(guān)的安全工具;
二、熟練的配置Linux的集群技術(shù),比如LVS/Nginx/HAproxy,了解其原理和會(huì)話保持機(jī)制;
三、熟悉的配置Nginx和Apache服務(wù)器,能熟練的配置其正則;
四、熟悉和了解MySQL或oracle數(shù)據(jù)庫(kù),至少要了解一種;
五、熟悉存儲(chǔ);
六、熟悉和了解虛擬化技術(shù);
七、極熟悉SHELL腳本,用其實(shí)現(xiàn)工作中的各項(xiàng)需求;
八、懂PHP或java代碼。
51CTO:我記得酒哥前一陣子在研究到底用lvs+keepalived還是Haproxy+Heartbeat架構(gòu),我現(xiàn)在看一拍網(wǎng)的架構(gòu)圖,最終還是選擇了lvs+keepalived的架構(gòu),這個(gè)選擇是出于哪方面的考慮?
撫琴煮酒:LVS+Keepalived我用了好多了(這種大家都應(yīng)該相當(dāng)了解和熟悉),我很多網(wǎng)站都是用這種成熟的負(fù)載均衡高可用方案, 一拍網(wǎng)的架構(gòu)的負(fù)載其實(shí)是二層,LVS(一層--》Nginx(二層);由于我目前還只是將HAProxy+Heartbeat在內(nèi)網(wǎng)測(cè)試環(huán)境下通過(guò),主要是擔(dān)心heartbeat的心跳問(wèn)題。
HAProxy跟LVS比較類(lèi)似,主要是Keepalived跟Heartbeat不一樣,Keepalived是通過(guò)發(fā)送vrrp包,模擬一個(gè)路由出來(lái);而Heartbaet的工作機(jī)制大家應(yīng)該有所了解,它是比較成熟的雙機(jī)方案,這里我不也想混淆大家,HAproxy+Heartbeat方案只是我研究的興趣方向,如果大家想用成熟的線上方案,我推薦LVS+Keepalived或Nginx+Keepalived,參考地址:
http://network.51cto.com/art/201101/241997.htm
51CTO:那么就差不多最后一個(gè)問(wèn)題。談?wù)勀R上要出的新書(shū)《構(gòu)建高可用的Linux服務(wù)器》吧。這本書(shū)差不多8月能買(mǎi)到了吧?主要適合哪些人群閱讀?
撫琴煮酒:對(duì),8月底可以買(mǎi)到了。這本書(shū)主要涉及的是有幾個(gè)方面,Linux集群、iptables防火墻和Linux安全及Xen虛擬化在里面占了很大比重,此書(shū)適合系統(tǒng)管理員、開(kāi)發(fā)人員和網(wǎng)絡(luò)管理員及IT類(lèi)學(xué)生閱讀。
51CTO:感謝撫琴煮酒本次的分享!本次專訪到此結(jié)束。
【編輯推薦】