聊聊云计算:为什么构建网站时常会用到负载均衡
戳藍字“CSDN云計算”關注我們哦!
作者:瘋子程序員
來源:
https://blog.csdn.net/qq_40196321/article/details/85075746?
負載均衡可以將客戶端請求分攤到多個操作單元上進行處理
硬件負載均衡
負載均衡有很多種不同的實現方式,總的來說,可以分為硬件負載均衡與軟件負載均衡兩大類。
硬件負載均衡有很多設備商可以提供解決方案,比如NetScaler、F5、Array Networks等。硬件負載均衡的優勢比較明顯:有專業團隊進行維護、性能好、且穩定可靠。
F5負載均衡器
但硬件負載均衡解決方案也有缺點,比如設備和服務費用昂貴,靈活性差,功能和容量都難以擴展。軟件負載均衡相對來說,靈活性強,擴展起來更容易,所以軟件負載均衡解決方案越來越受到青睞。
DNS負載均衡
軟件負載均衡最早通過DNS來實現,即一個域名對應多個IP地址。在應答DNS查詢時,DNS服務器對每個查詢將以DNS文件中主機記錄的IP地址按順序返回不同的解析結果,將客戶端的訪問引導到不同的機器上去,使得不同的客戶端訪問不同的服務器,從而達到負載均衡的目的。
DNS負載均衡的解決方案原理比較簡單,不過缺點也比較明顯:
第一,不能夠按照Web服務器的處理能力分配負載;
第二,DNS負載均衡技術沒有考慮容錯,即使某個服務器不可用,DNS仍然會把請求轉發過去;
第三,一旦發現某個服務器出現故障,即使及時修改了DNS設置,但還是要等DNS刷新時間到了才能生效。
開源軟件解決方案
后來出現了開源軟件負載均衡的解決方案,最主流的就是LVS和Nginx。基于開源軟件的負載均衡打破了硬件LB的壟斷,降低了負載均衡的實施成本。
(1)LVS = Linux Virtual Server
LVS虛擬服務器,在1998年5月由章文嵩博士成立,是中國國內最早出現的自由軟件項目之一。
LVS是把負載均衡的功能做到了Linux內核里面。LVS集群采用IP負載均衡技術和基于內容請求分發技術,將一組服務器構成一個高性能的、高可用的虛擬服務器。
整個服務器集群的結構對客戶是透明的,客戶訪問集群系統提供的網絡服務就像訪問一臺高性能、高可用的服務器一樣,而且無需修改客戶端和服務器端的程序。
(2)Nginx
Nginx是一個輕量級的Web服務器,同時也是一個反向代理服務器,可以利用其反向代理的功能做負載均衡。Nginx與LVS相比主要有以下幾點不同:
與LVS在層四進行負載均衡不同,Nginx是在層7進行,可以針對Http應用進行分流;
轉發策略也更靈活,比如可以針對域名或目錄結構進行轉發;
Nginx對網絡的依賴比較小,理論上只要Ping得通,網頁訪問正常就能連通,而LVS比較依賴網絡環境。
總的來說,Nginx的應用場合要更多一些,LVS則更適合節點比較多的大型系統。
基于云的負載均衡(Cloud Load Balance)
除了在云主機上自己利用LVS或Nginx搭建負載均衡服務器,阿里云、騰訊云等云計算服務商,均提供了專門的負載均衡服務,配置容易。這些服務商的負載均衡解決方案,往往是結合了層7與層4的綜合負載均衡方案,而且還需要考慮VPC網絡與物理網絡的不同情況(關于VPC的概念,可以參考之前的文章,《聊聊云計算:VPC與VPN有什么關系》)。具體實現方案比較復雜,這里就不過多介紹了,反正會用就行。
基于負載均衡實現的典型的云服務架構
上圖就是一個基于負載均衡的典型的云服務架構。在我們搭建互聯網應用時,可能需要考慮服務器的承載能力,或者需要保障服務器可用性,避免出現單點故障,使用負載均衡就是一個基本操作,掌握了LB,我們的服務就更加穩定了。
推薦閱讀
Spring-Data-JPA嘗鮮:快速搭建CRUD+分頁后臺實例
孟巖:區塊鏈的原則與價值觀
嫁人當嫁程序員
原子互換:一統公鏈江湖的神來之筆
春晚鬼畜 B 站日排行最高,趙本山:我的時代還沒有結束!
PDF翻譯神器,再也不擔心讀不懂英文Paper了
新聞聯播也可以拿來做數據分析?
1.微信群:
添加小編微信:color_ld,備注“進群+姓名+公司職位”即可,加入【云計算學習交流群】,和志同道合的朋友們共同打卡學習!
2.征稿:
投稿郵箱:liudan@csdn.net;微信號:color_ld。請備注投稿+姓名+公司職位。
喜歡就點擊“好看”吧!總結
以上是生活随笔為你收集整理的聊聊云计算:为什么构建网站时常会用到负载均衡的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 家里有蟑螂怎么办?
- 下一篇: 云头条 |华为云发布全新Slogan;A