-
1 # 古德拜901
-
2 # 用心服務每位客戶
負載均衡的五種策略是什麼?實行負載均衡的目的就是讓請求到達不同的伺服器上。一次請求到伺服器之間,有那麼多環節,因此可以實現的方法也有很多種。
負載均衡的五種策略:
1.輪詢(預設)每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。2、指定權重,指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。3、IP繫結 ip_hash,每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端伺服器,可以解決session的問題。4、fair(第三方)按後端伺服器的響應時間來分配請求,響應時間短的優先分配。5、url_hash(第三方)按訪問url的hash結果來分配請求,使每個url定向到同一個後端伺服器,後端伺服器為快取時比較有效。
負載均衡實現的方法:
HTTP重定向負載均衡
HTTP重定向負載均衡有一臺重定向伺服器,它也是一臺普通的伺服器,其唯一的功能就是根據使用者的HTTP請求計算一臺應用叢集中伺服器的地址,並將此地址寫入HTTP重定向響應中返回給使用者。這種方案實現起來簡單,但是需要瀏覽器請求兩次伺服器才能完成。並且重定向伺服器很容易程式設計瓶頸,因為一次重定向返回的過程,也是一次標準HTTP請求,如果叢集內有10臺機器,那HTTP重定向伺服器的流量將是應用伺服器的10倍,如果有100臺估計就宕機了,所以伸縮效能受到了很大限制。使用302響應碼重定向不利於網站SEO。
DNS域名解析負載均衡
這是利用DNS處理域名解析請求的同時進行負載均衡處理的一種方案。在DNS中配置多個A記錄,每次域名解析請求都會根據負載均衡演算法計算一個不同的IP地址返回。DNS域名解析負載均衡的優點是將負載均衡的工作轉交給DNS,省掉了網站管理維護負載均衡伺服器的麻煩,同時還可以使用智慧DNS可以基於地理位置或者ISP來做域名解析,使用者將會得到距離最近或者速度最快的一個伺服器地址,這樣可以加快使用者的訪問速度,改善效能。但是這種方法也有很大的缺點,DNS是多級解析,每一級都會快取DNS記錄,如果某個伺服器變動了,DNS記錄更新的時間將會很長,這個速度取決於域名服務商。一般大型網站都會使用DNS域名解析,利用域名解析作為一級負載均衡手段。你可以使用 dig <域名> 的方法檢視某個域名的A記錄,你會發現很多網站會有多條A記錄。
反向代理負載均衡
這種方法就是使用反向代理伺服器,它一般在web伺服器前面,這個位置也正好是負載均衡伺服器的位置,所以大多數反向代理伺服器同時也提供負載均衡的功能。由於web伺服器不直接對外提供訪問,因此web伺服器不需要使用外部IP,而反向代理伺服器則需要配置雙網絡卡和內部外部兩套IP地址。反向代理伺服器轉發請求是在HTTP協議層面,因此也叫應用層負載均衡,由於應用層在七層網路模型中的第七層,所以一般也稱為七層負載均衡。優點就是和反向代理功伺服器功能整合在一起,部署簡單。缺點是反向代理伺服器是所有請求和響應的中轉站,其效能可能會成為瓶頸。網路層負載均衡這種方法是在網路層透過修改請求目標地址進行負載均衡,網路層在七層網路層模型的第四層,所以也叫做四層負載均衡,也叫做IP層負載均衡。請求達到負載均衡伺服器後,由負載均衡伺服器在作業系統核心程序獲取網路資料包,根據負載均衡演算法得到一臺真實web伺服器的地址,然後修改請求的目的地址到這臺真實的web伺服器地址,等到web伺服器處理完成後,響應資料包回到負載均衡伺服器,再將資料包源地址修改為自身的IP(負載均衡伺服器的IP)地址傳送給使用者瀏覽器這裡關鍵在於真實無力web伺服器響應資料包如何返回給負載均衡伺服器。一種是源地址轉換(SNAT),第二種是負載均衡伺服器作為閘道器伺服器。網路層的負載均衡在核心程序完成資料轉發,有更好的效能。但是由於響應請求的流量要經過負載均衡伺服器,容易成為瓶頸。
回覆列表
早期的網際網路應用,由於使用者流量比較小,業務邏輯也比較簡單,往往一個單伺服器就能滿足負載需求。
隨著網際網路的流量越來越大,訪問量也就非常大了,並且系統功能也越來越複雜,那麼單臺伺服器就算將效能最佳化得再好,也不能支撐這麼大使用者量的訪問壓力了,這個時候就需要使用多臺機器,設計高效能的叢集來應對。
負載均衡可將負載(工作任務,訪問請求)進行平衡、分攤到多個操作單元(伺服器,元件)上進行執行。是解決高效能,單點故障(高可用),擴充套件性(水平伸縮)的終極解決方案。ZKEYS系統目前支援負載均衡的自生產。