java B2B2C Springcloud電子商城系統--------負載均衡(Load Balance)
負載均衡(Load Balance)
由於目前現有網路的各個核心部分隨著業務量的提高,訪問量和資料流量的快速增長,其處理能力和計算強度也相應地增大,使得單一的伺服器裝置根本無法承擔。在此情況下,如果扔掉現有裝置去做大量的硬體升級,這樣將造成現有資源的浪費,而且如果再面臨下一次業務量的提升時,這又將導致再一次硬體升級的高額成本投入,甚至效能再卓越的裝置也不能滿足當前業務量增長的需求。願意瞭解原始碼的朋友直接求求交流分享技術:二一四七七七五六三三
負載均衡實現方式分類
1:軟體負載均衡技術
該技術適用於一些中小型網站系統,可以滿足一般的均衡負載需求。軟體負載均 衡技術是在一個或多個互動的網路系統中的多臺伺服器上安裝一個或多個相應的負載均衡軟體來實現的一種均衡負載技術。軟體可以很方便的安裝在伺服器上,並且 實現一定的均衡負載功能。軟體負載均衡技術配置簡單、操作也方便,最重要的是成本很低。
2:硬體負載均衡技術
由於硬體負載均衡技術需要額外的增加負載均衡器,成本比較高,所以適用於流量高的大型網站系統。不過在現在較有規模的企業網、政府網站,一般來說都會部署有硬體負載均衡裝置(原因1.硬體裝置更穩定,2.也是合規性達標的目的)硬體負載均衡技術是在多臺伺服器間安裝相應的負載均衡裝置,也就是負載均衡器來完成均衡負載技術,與軟體負載均衡技術相比,能達到更好的負載均衡效果。
3:本地負載均衡技術
本地負載均衡技術是對本地伺服器群進行負載均衡處理。該技術通過對伺服器進行效能優化,使流量能夠平均分配在伺服器群中的各個伺服器上,本地負載均衡技術不需要購買昂貴的伺服器或優化現有的網路結構。
(如微軟NLB網路負載均衡技術,該技術通過多臺伺服器上起應用完成負載均衡的實現,原理是幾臺伺服器虛擬出一個IP地址,應用會使伺服器輪循響應資料, 但是在一次安全閘道器的部署當中就遇到了問題,大家以後可以注意本次經驗,問題簡單描述如下:當外部測試PC,向虛擬IP地址發了一個ping包之後,虛擬 IP迴應一個數據包,另外,實主機也均迴應資料包,導致安全裝置認為會話不是安全的。所以進行阻斷,致使業務不正常。)
4:全域性負載均衡技術(也稱為廣域網負載均衡)
全域性負載均衡技術適用於擁有多個低於的伺服器叢集的大型網站系統。全域性負載均衡技術是對分佈在全國各個地區的多個伺服器進行負載均衡處理,該技術可以通過對訪問使用者的IP地理位置判定,自動轉向地域最近點。很多大型網站都使用的這種技術。
5:鏈路集合負載均衡技術
鏈路集合負載均衡技術是將網路系統中的多條物理鏈路,當作單一的聚合邏輯鏈路來使用,使網站系統中的資料流量由聚合邏輯鏈路中所有的物理鏈路共同承擔。這種技術可以在不改變現有的線路結構,不增加現有頻寬的基礎上大大提高網路資料吞吐量,節約成本。
總結:
負載均衡至少有四種應用:
伺服器負載均衡;
廣域網路伺服器負載均衡 ;
防火牆負載均衡;
透明網站加速器負載均衡。
伺服器負載均衡負責將客戶請求的任務分發到多臺伺服器,用以擴充套件服務能力並超出一臺伺服器的處理能力,並且能夠使應用系統具有容錯能力。
廣域網路伺服器負載均衡負責將客戶的請求導向到不同的資料中心的伺服器群中,以便為客戶提供更快的響應速度和針對某一資料中心出現災難性事故時智慧的冗災處理。
防火牆負載均衡將請求負載分發到多臺防火牆,用來提高安全效能以便超出一臺防火牆的處理能力。
透明網站加速器(Transparent cache)使導向流量交換到多臺網站加速器中,用以解除安裝網站伺服器的靜態內容到網站加速器(Cache)中,從而提高網站服務的效能和加速cache的響應時間。
整體程式碼結構如下: