資深運維工程師劉晗昭談負載均衡軟/硬件
原創如果你是個運維,企業的業務在不斷增長,之前的架構已經開始不能承受業務增長,每天用戶對網站流暢性的投訴越來越多。對于大型網站來說,在面對大量用戶訪問、高并發請求方面,基本解決方法集中為使用高性能的服務器、數據庫與Web服務器,采用高效率的編成語言。但是這些并不能處理問題的根本,沒得選***方案——負載均衡。
負載均衡(Load Balance),其意思就是將負載(工作任務)進行平衡、分攤到多個操作單元上進行執行。在負載均衡中可以分為兩種方式,硬件方式與軟件方式。在軟件方式中有一個讓國人驕傲的軟件LVS。LVS是一個開源的軟件,由畢業于國防科技大學的章文嵩博士于1998年5月創立,用來實現Linux平臺下的簡單負載均衡。LVS是Linux Virtual Server的縮寫,意思是Linux虛擬服務器。
負載均衡的方式
相對來說,對于一些網站和一些網絡應用而言,需不需要負載均衡,要看網站的訪問量是不是增長的很快,單個處理單元無法滿足負載需求時,網絡應用流量將要出現瓶頸時,負載均衡才會起到作用。其實在互聯網行業中提升業務水平有兩個選擇,要么花錢買硬件,要么花錢找技術。其實這兩個選擇總結起來也就是一個——花錢。但是錢一定要花的有價值,買幾臺服務器增加帶寬或者是請一位技術牛人幫你搞定一切是完全不同花錢路線。
負載均衡可以采用軟件和硬件兩種方式完成,目前市場上主要的硬件負載均衡主要是有F5、思科以及Radware當然梭子魚的硬件產品也是相當不錯的選擇,而軟件產品主要有LVS、Nginx以及使用量不大的HAProxy。
資深運維工程師劉晗昭談負載均衡軟/硬件
說到選擇負載均衡產品大多數的中小企業還是會選擇軟件產品實現,當然免費的開源軟件是比較受青睞的。這里我們采訪到了很早就已經參加工作的資深運維工程師劉晗昭老師。
劉晗昭:資深運維工程師,2003年開始在智聯招聘從事運維工作,2008年轉戰央視國際,之后就職聯通新時訊,目前在昆侖萬維從事運維工作。
劉老師很早開始接觸負載均衡,不過最初使用思科的LocalDirector,因業務擴展,原負載均衡設備不能滿足業務增長需要,換成了netscaler。在當時的訪問量下思科的產品使用效果還是不錯的。
劉老師談到在2008年的時候開始接觸軟件負載均衡LVS,之后做過的很多項目中在內部環境調度中都是使用LVS來完成的,但是對外面向客戶的業務還是采用硬件設備完成。
一直以來有很多爭議,負載均衡到底是用軟件還是硬件。談到這一問題劉老師說:“如果公司不差錢,當然選擇硬件產品。首先硬件產品的售后服務和技術支持是毋庸置疑的,良好的技術保障也是產品的賣點。同時硬件廠商在GSLB方面都有很好的解決方案,企業可以很容易的實現全局負載均衡。不過使用硬件進行負載均衡也存在著缺點,有了硬件廠商的支持,一部分運維人員很可能把更多的精力放在如何設置硬件設備上,從而忽略了負載均衡的核心技術,畢竟掌握一門技術要比掌握一個產品更重要。”
對于還處于起步期的企業劉老師又說道:“如果企業沒有太多的資金支持,選擇軟件的負載均衡是最合適不過的。首先是節省了一大筆費用,其次在一定條件下效果是不輸給硬件負載均衡的。但對于維護軟件負載均衡的運維同志們要求就要提高了。LVS是開源的,沒有固定的廠商進行支持,所以需要我們充分熟習此項技術,要能解決生產線中遇到的所有問題。從我開始接觸LVS以來,技術變化不大,不過圍繞負載均衡,卻產生很多了支持此功能的軟件,像squid、nginx、haproxy、varnish等等,這就讓系統架構更靈活更多樣。”
其實,單純說軟件/硬件負載均衡是不全面的。然而,就國內的企業來說,使用軟件的負載均衡技術更為多一些,一方面是因為成本問題,而另一方面軟件負載均衡的優點更加突出。如果有一定運維經驗的人都知道軟件的擴展性比較好,硬件的承載是非常有限的。眾所周知淘寶的并發量大的驚人,據聽說他們現在已經把某硬件負載均衡設備全部換成LVS的架構了。
在***劉晗昭老師還不忘為Linux20周年送上一句賀言:“希望能有越來越多的人加入到linux的陣營中,讓開源走的更遠。”