国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 網絡通信 > 正文

集群的負載均衡技術

2019-11-04 22:26:30
字體:
來源:轉載
供稿:網友

  當前,無論在企業網、園區網還是在廣域網如Internet上,業務量的發展都超出了過去最樂觀的估計,上網熱潮風起云涌,新的應 用層出不窮,即使按照當時最優配置建設的網絡,也很快會感到吃不消。 尤其是各個網絡的核心部分,其數據流量和計算強度之大,使得單一設備根本無法承擔,而如何在完成同樣功能的多個網絡設備之間實現合理的業務量分配,使之不致于出現一臺設備過忙、而別的設備卻未充分發揮處理能力的情況,就成了一個問題,負載均衡機制也因此應運而生。

負載均衡建立在現有網絡結構之上,它提供了一種廉價有效的方法擴展服務器帶寬和增加吞吐量,加強網絡數據處理能力,提高網絡的靈活性和可用性。它主要完成以下任務:解決網絡擁塞問題,服務就近提供,實現地理位置無關性 ;為用戶提供更好的訪問質量;提高服務器響應速度;提高服務器及其他資源的利用效率;避免了網絡要害部位出現單點失效。

其實,負載均衡并非傳統意義上的“均衡”,一般來說,它只是把有可能擁塞于一個地方的負載交給多個地方分擔。假如將其改稱為“負載分擔”,也許更好懂一些。說得通俗一點,負載均衡在網絡中的作用就像輪流值日制度,把任務分給大家來完成,以免讓一個人累死累活。不過,這種意義上的均衡一般是靜態的,也就是事先確定的“輪值”策略 。

與輪流值日制度不同的是,動態負載均衡通過一些工具實時地分析數據包,把握網絡中的數據流量狀況,把任務合理分配出去。結構上分為本地負載均衡和地域負載均衡(全局負載均衡),前一種是指對本地的服務器集群做負載均衡,后一種是指對分別放置在不同的地理位置、在不同的網絡及服務器群集之間作負載均衡。

服務器群集中每個服務結點運行一個所需服務器程序的獨立拷貝,諸如 Web、FTP、Telnet或e-mail服務器程序。對于某些服務(如運行在Web服務器上的那些服務)而言,程序的一個拷貝運行在群集內所有的主機上,而網絡負載均衡則將工作負載在這些主機間進行分配。對于其他服務(例如e-mail),只有一臺主機處理工作負載,針對這些服務,網絡負載均衡答應網絡通訊量流到一個主機上,并在該主機發生故障時將通訊量移至其他主機。

負載均衡技術實現結構

在現有網絡結構之上,負載均衡提供了一種廉價有效的方法擴展服務器帶寬和增加吞吐量,加強網絡數據處理能力,提高網絡的 靈活性和可用性。它主要完成以下任務:

◆解決網絡擁塞問題,服務就近提供,實現地理位置無關性

◆為用戶提供更好的訪問質量

◆提高服務器響應速度

◆提高服務器及其他資源的利用效率

◆避免了網絡要害部位出現單點失效

廣義上的負載均衡既可以設置專門的網關、負載均衡器,也可以通過一些專用軟件與協議來實現。對一個網絡的負載均衡應用,從網絡的不同層次入手,根據網絡瓶頸所在進行具體分析。從客戶端應用為起點縱向分析,參考OSI的分層模型,我們把負載均衡技術的實現分為客戶端負載均衡技術、應用服務器技術、高層協議交換、網絡接入協議交換等幾種方式。

負載均衡的層次

◆基于客戶端的負載均衡

這種模式指的是在網絡的客戶端運行特定的程序,該程序通過定期或不定期的收集服務器群的運行參數:CPU占用情況、磁盤 IO、內存等動態信息,再根據某種選擇策略,找到可以提供服務的最佳服務器,將本地的應用請求發向它。假如負載信息采集程序發現服務器失效,則找到其他可替代的服務器作為服務選擇。整個過程對于應用程序來說是完全透明的,所有的工作都在運行時處理。因此這也是一種動態的負載均衡技術。

但這種技術存在通用性的問題。因為每一個客戶端都要安裝這個非凡的采集程序;并且,為了保證應用層的透明運行,需要針對每一個應用程序加以修改,通過動態鏈接庫或者嵌入的方法,將客戶端的訪問請求能夠先經過采集程序再發往服務器,以重定向的過程進行。對于每一個應用幾乎要對代碼進行重新開發,工作量比較大。

所以,這種技術僅在非凡的應用場合才使用到,比如在執行某些專有任務的時候,比較需要分布式的計算能力,對應用的開發沒有太多要求。另外,在采用java構架模型中,經常使用這種模式實現分布式的負載均衡,因為java應用都基于虛擬機進行,可以在應用層和虛擬機之間設計一個中間層,處理負載均衡的工作。

◆應用服務器的負載均衡技術

假如將客戶端的負載均衡層移植到某一個中間平臺,形成三層結構,則客戶端應用可以不需要做非凡的修改,透明的通過中間層應用服務器將請求均衡到相應的服務結點。比較常見的實現手段就是反向代理技術。使用反向代理服務器,可以將請求均勻轉發給多臺服務器,或者直接將緩存的數據返回客戶端,這樣的加速模式在一定程度上可以提升靜態網頁的訪問速度,從而達到負載均衡的目 的。

使用反向代理的好處是,可以將負載均衡和代理服務器的高速緩存技術結合在一起,提供有益的性能。然而它本身也存在一些問 題,首先就是必須為每一種服務都專門開發一個反向代理服務器,這就不是一個輕松的任務。

反向代理服務器本身雖然可以達到很高效率,但是針對每一次代理,代理服務器就必須維護兩個連接,一個對外的連接,一個對內的連接,因此對于非凡高的連接請求,代理服務器的負載也就非常之大。反向代理能夠執行針對應用協議而優化的負載均衡策略,每次僅訪問最空閑的內部服務器來提供服務。但是隨著并發連接數量的增加,代理服務器本身的負載也變得非常大,最后反向代理服 務器本身會成為服務的瓶頸。

◆基于域名系統的負載均衡

NCSA的可擴展Web是最早使用動態DNS輪詢技術的web系統。在DNS中為多個地址配置同一個名字,因而查詢這個名字的客戶機將得到其中一個地址,從而使得不同的客戶訪問不同的服務器,達到負載均衡的目的。在很多知名的web站點都使用了這個技術:包括早期的yahoo站點、163等。動態DNS輪詢實現起來簡單,無需復雜的配置和治理,一般支持bind8.2以上的類unix系統都能夠運行,因此廣為使用。

DNS負載均衡是一種簡單而有效的方法,但是存在不少問題。

首先域名服務器無法知道服務結點是否有效,假如服務結點失效,余名系統依然會將域名解析到該節點上,造成用戶訪問失效。

其次,由于DNS的數據刷新時間TTL(Time to LIVE)標志,一旦超過這個TTL,其他DNS服務器就需要和這個服務器交互,以重新獲得地址數據,就有可能獲得不同ip地址。因此為了使地址能隨機分配,就應使TTL盡量短,不同地方的DNS服務器能更新對應的地址,達到隨機獲得地址。然而將TTL設置得過短,將使DNS流量大增,而造成額外的網絡問題。

最后,它不能區分服務器的差異,也不能反映服務器的當前運行狀態。當使用DNS負載均衡的時候,必須盡量保證不同的客戶計算機能均勻獲得不同的地址。例如,用戶A可能只是瀏覽幾個網頁,而用戶B可能進行著大量的下載,由于域名系統沒有合適的負載策略,僅僅是簡單的輪流均衡,很輕易將用戶A的請求發往負載輕的站點,而將B的請求發往負載已經很重的站點。因此,在動態平衡特性上,動態DNS輪詢的效果并不理想。

◆高層協議內容交換技術

除了上述的幾種負載均衡方式之外,還有在協議內部支持負載均衡能力的技術,即URL交換或七層交換,提供了一種對訪問流量的高層控制方式。Web內容交換技術檢查所有的HTTP報頭,根據報頭內的信息來執行負載均衡的決策。例如可以根據這些信息來確定如何為個人主頁和圖像數據等內容提供服務,常見的有HTTP協議中的重定向能力等。

HTTP運行于TCP連接的最高層。客戶端通過恒定的端口號80的TCP服務直接連接到服務器,然后通過TCP連接向服務器端發送一個 HTTP請求。協議交換根據內容策略來控制負載,而不是根據TCP端口號,所以不會造成訪問流量的滯留。

由于負載平衡設備要把進入的請求分配給多個服務器,因此,它只能在TCP連接時建立,且HTTP請求通過后才能確定如何進行負載的平衡。當一個網站的點擊率達到每秒上百甚至上千次時,TCP連接、HTTP報頭信息的分析以及進程的時延已經變得很重要了,要盡一切可能提高這幾各部份的性能。

在HTTP請求和報頭中有很多對負載平衡有用的信息。我們可以從這些信息中獲知客戶端所請求的 URL和網頁,利用這個信息,負載平衡設備就可以將所有的圖像請求引導到一個圖像服務器,或者根據URL的數據庫查詢內容調用CGI程序,將請求引導到一個專用 的高性能數據庫服務器。

假如網絡治理員熟悉內容交換技術,他可以根據HTTP報頭的cookie字段來使用Web內容交換技術改善對特定客戶的服務,假如能從HTTP請求中找到一些規律,還可以充分利用它作出各種決策。除了TCP連接表的問題外,如何查找合適的HTTP報頭信息以及作出負載平衡決策的過程,是影響Web內容交換技術性能的重要問題。假如Web服務器已經為圖像服務、SSL對話、數據庫事務服務之類的非凡功能進行了優化,那么,采用這個層次的流量控制將可以提高網絡的性能。

◆網絡接入協議交換

大型的網絡一般都是由大量專用技術設備組成的,如包括防火墻、路由器、第3、4層交換機、負載均衡設備、緩沖服務器和Web 服務器等。如何將這些技術設備有機地組合在一起,是一個直接影響到網絡性能的要害性問題。現在許多交換機提供第四層交換功能,對外提供一個一致的IP地址,并映射為多個內部IP地址,對每次TCP和UDP連接請求,根據其端口號,按照即定的策略動態選擇一個內部地址,將數據包轉發到該地址上。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阜平县| 班玛县| 长武县| 三河市| 西贡区| 措美县| 嵊泗县| 红安县| 酒泉市| 陵川县| 嵊州市| 仙居县| 绥滨县| 灵武市| 自贡市| 华安县| 石景山区| 江孜县| 阳高县| 南城县| 克什克腾旗| 平昌县| 漯河市| 社会| 吴堡县| 沙湾县| 闸北区| 瑞安市| 修水县| 米易县| 唐河县| 从化市| 姜堰市| 屏南县| 开原市| 印江| 比如县| 垣曲县| 黄浦区| 陆良县| 清苑县|