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






















