負載均衡實施要素

2021-06-07 16:48:49 字數 4223 閱讀 4228

負載均衡實施要素

負載均衡方案應是在**建設初期就應考慮的問題,不過有時隨著訪問流量 的**性增長,超出決策者的意料,這也就成為不得不面對的問題。當我們在引入某種負載均衡方案乃至具體實施時,像其他的許多方案一樣,首先是確定當前及將 來的應用需求,然後在代價與收效之間做出權衡。

針對當前及將來的應用需求,分析網路瓶頸的不同所在,我們就需要確立是採用哪一類的負載均衡技術,採用什麼樣的均衡策略,在可用性、相容性、安全性等等方面要滿足多大的需求,如此等等。

不管負載均衡方案是採用花費較少的軟體方式,還是購買代價高昂在效能功能上更強的第四層交換機、負載均衡器等硬體方式來實現,亦或其他種類不同的均衡技術,下面這幾項都是我們在引入均衡方案時可能要考慮的問題:

性 能:效能是我們在引入均衡方案時需要重點考慮的問題,但也是乙個最難把握的問題。衡量效能時可將每秒鐘通過網路的資料報數目做為乙個引數,另乙個引數是均 衡方案中伺服器群所能處理的最大併發連線數目,但是,假設乙個均衡系統能處理百萬計的併發連線數,可是卻只能以每秒2個包的速率**,這顯然是沒有任何作 用的。 效能的優劣與負載均衡裝置的處理能力、採用的均衡策略息息相關,並且有兩點需要注意:一、均衡方案對伺服器群整體的效能,這是響應客戶端連線請求速度的關 鍵;二、負載均衡裝置自身的效能,避免有大量連線請求時自身效能不足而成為服務瓶頸。 有時我們也可以考慮採用混合型負載均衡策略來提公升伺服器群的總體效能,如dns負載均衡與nat負載均衡相結合。另外,針對有大量靜態文件請求的站點,也 可以考慮採用快取記憶體技術,相對來說更節省費用,更能提高響應效能;對有大量ssl/xml內容傳輸的站點,更應考慮採用ssl/xml加速技術。

可 擴充套件性:it技術日新月異,一年以前最新的產品,現在或許已是網路中效能最低的產品;業務量的急速上公升,一年前的網路,現在需要新一輪的擴充套件。合適的均衡 解決方案應能滿足這些需求,能均衡不同作業系統和硬體平台之間的負載,能均衡http、郵件、新聞、**、資料庫、防火牆和 cache等不同伺服器的負載,並且能以對客戶端完全透明的方式動態增加或刪除某些資源。

靈活性:均衡解決方案應能靈活地提供不同的應用需求,滿足應用需求的不斷變化。在不同的伺服器群有不同的應用需求時,應有多樣的均衡策略提供更廣泛的選擇。

可 靠性:在對服務質量要求較高的站點,負載均衡解決方案應能為伺服器群提供完全的容錯性和高可用性。但在負載均衡裝置自身出現故障時,應該有良好的冗餘解決 方案,提高可靠性。使用冗餘時,處於同乙個冗餘單元的多個負載均衡裝置必須具有有效的方式以便互相進行監控,保護系統盡可能地避免遭受到重大故障的損失。

負載均衡配置例項

dns負載均衡

dns負載均衡技術是在dns伺服器中為同乙個主機名配置多個ip位址,在應答dns查詢時,dns伺服器對每個查詢將以dns檔案中主機記錄的ip地 址按順序返回不同的解析結果,將客戶端的訪問引導到不同的機器上去,使得不同的客戶端訪問不同的伺服器,從而達到負載均衡的目的。

dns負載均衡的優點是經濟簡單易行,並且伺服器可以位於internet上任意的位置。但它也存在不少缺點:

為了使本dns伺服器和其他dns伺服器及時互動,保證dns資料及時更新,使位址能隨機分配,一般都要將dns的重新整理時間設定的較小,但太小將會使dns流量大增造成額外的網路問題。

一旦某個伺服器出現故障,即使及時修改了dns設定,還是要等待足夠的時間(重新整理時間)才能發揮作用,在此期間,儲存了故障伺服器位址的客戶計算機將不能正常訪問伺服器。

dns負載均衡採用的是簡單的輪循負載演算法,不能區分伺服器的差異,不能反映伺服器的當前執行狀態,不能做到為效能較好的伺服器多分配請求,甚至會出現客戶請求集中在某一台伺服器上的情況。

要給每台伺服器分配乙個internet上的ip位址,這勢必會占用過多的ip位址。

判斷乙個站點是否採用了dns負載均衡的最簡單方式就是連續的ping這個網域名稱,如果多次解析返回的ip位址不相同的話,那麼這個站點就很可能採用的就 是較為普遍的dns負載均衡。但也不一定,因為如果採用的是dns響應均衡,多次解析返回的ip位址也可能會不相同。不妨試試ping一下

www.yesky.com,

www.sohu.com,

www.yahoo.com

現假設有三颱伺服器來應對

www.test.com的請求。在採用bind 8.x dns伺服器的unix系統上實現起來比較簡單,只需在該域的資料記錄中新增類似下面的結果:

www1 in a 192.1.1.1

www2 in a 192.1.1.2

www3 in a 192.1.1.3

www in cname www1

www in cname www2

www in cname www3

在nt下的實現也很簡單,下面詳細介紹在win2000 server下實現dns負載均衡的過程,nt4.0類似:

開啟「管理工具」下的「dns」,進入dns服務配置控制台。

打 開相應dns 伺服器的「屬性」,在「高階」選項卡的「伺服器選項」中,選中「啟用迴圈」核取方塊。此步相當於在登錄檔記錄hkey_local_machine\ system\currentcontrolset\services\dns\parameters中新增乙個雙字節制值(dword值) roundrobin,值為1。

開啟正向搜尋區域的相應區域(如test.com),新建主機新增主機 (a) 資源記錄,記錄如下:

www in a 192.1.1.1

www in a 192.1.1.2

www in a 192.1.1.3

在此需要注意的是,nt下本地子網優先順序會取代多宿主名稱的迴圈復用,所以在測試時,如果做測試用的客戶機ip位址與主機資源記錄的ip在同一有類掩碼範圍內,就需要清除在「高階」選項卡「伺服器選項」中的「啟用netmask排序」。

nat負載均衡

nat(network address translation 網路位址轉換)簡單地說就是將乙個ip位址轉換為另乙個ip位址,一般用於未經註冊的內部位址與合法的、已獲註冊的internet ip位址間進行轉換。適用於解決internet ip位址緊張、不想讓網路外部知道內部網路結構等的場合下。每次nat轉換勢必會增加nat裝置的開銷,但這種額外的開銷對於大多數網路來說都是微不足道 的,除非在高頻寬有大量nat請求的網路上。

nat負載均衡將乙個外部ip位址對映為多個內部ip位址,對每次連線請求動態地轉換為乙個內部伺服器的位址,將外部連線請求引到轉換得到位址的那個伺服器上,從而達到負載均衡的目的。

nat負載均衡是一種比較完善的負載均衡技術,起著nat負載均衡功能的裝置一般處於內部伺服器到外部網間的閘道器位置,如路由器、防火牆、四層交換機、專用負載均衡器等,均衡演算法也較靈活,如隨機選擇、最少連線數及響應時間等來分配負載。

nat負載均衡可以通過軟硬體方式來實現。通過軟體方式來實現nat負載均衡的裝置往往受到頻寬及系統本身處理能力的限制,由於nat比較接近網路的低 層,因此就可以將它整合在硬體裝置中,通常這樣的硬體裝置是第四層交換機和專用負載均衡器,第四層交換機的一項重要功能就是nat負載均衡。

下面以例項介紹一下cisco路由器nat負載均衡的配置:

現有一台有乙個序列介面和乙個ethernet介面的路由器,ethernet口連線到內部網路,內部網路上有三颱web伺服器,但都只是低端配置,為 了處理好來自internet上大量的web連線請求,因此需要在此路由器上做nat負載均衡配置,把傳送到web伺服器合法internet ip位址的報文轉換成這三颱伺服器的內部本地位址。 其具體配置過程如下:

做好路由器的基本配置,並定義各個介面在做nat時是內部還是外部介面。

然後定義乙個標準訪問列表(standard access list),用來標識要轉換的合法ip位址。

再定義nat位址池來標識內部web伺服器的本地位址,注意要用到關鍵字rotary,表明我們要使用輪循(round robin)的方式從nat位址池中取出相應ip位址來轉換合法ip報文。

最後,把目標位址為訪問表中ip的報文轉換成位址池中定義的ip位址。

相應配置檔案如下:

inte***ce ethernet0/0

ip address 192.168.1.4 255.255.255.248

ip nat inside

! inte***ce serial0/0

ip address 200.200.1.1 255.255.255.248

ip nat outside

! ip access-list 1 permit 200.200.1.2

! ip nat pool websrv 192.168.1.1 192.168.1.3 netmask 255.255.255.248 type rotary

ip nat inside destination list 1 pool websrv

負載均衡實施應該因地制宜

haproxy是一款提供高可用性 負載均衡以及基於tcp 第四層 和http 第七層 應用的 軟體,haproxy是完全免費的 借助haproxy可以快速並且可靠的提供基於tcp和http應用的 解決方案。haproxy最主要的特點是效能優越,haproxy特別適用於那些負載特大的web站點,這些站...

nginx 負載均衡 Nginx負載均衡策略

nginx提供的負載均衡策略有2種 內建策略和擴充套件策略。內建策略為輪詢 預設 加權輪詢,ip hash,第三方。upstream mysvr1 輪詢 每個請求按照時間順序逐一的分配到每乙個後台伺服器上。如果某台伺服器宕機了,將會自動的剔除宕機的服務。nginx預設就是輪詢其權重都預設為1,伺服器...

軟負載均衡和F5負載均衡(硬負載均衡)區別

分割線,以下是原文內容 負載均衡 建立在現有網路結構之上,它提供了一種廉價有效透明的方法擴充套件 網路裝置 和伺服器 的頻寬 增加 吞吐量 加強網路資料處理能力 提高網路的靈活性和可用性。負載均衡,英文名稱為load balance,其意思就是分攤到多個操作單元上進行執行,例如web 伺服器 ftp...