負載均衡作為目前服務器集群部署的一款常用設備,當一臺機器性能無法滿足業務的增長需求時,不是去找一款性能更好的機器,而是通過負載均衡,利用集群來滿足客戶增長的需求。 負載均衡技術的實現,主要分為以下幾種:
負載均衡不能狹義地理解為分配給所有實際服務器一樣多的工作量,因為多臺服務器的承載能力各不相同,這可能體現在硬件配置、網絡帶寬的差異,也可能因為某臺服務器身兼多職,我們所說的“均衡”,也就是希望所有服務器都不要過載,并且能夠最大程序地發揮作用。 http 重定向 當http代理(比如瀏覽器)向web服務器請求某個URL后,web服務器可以通過http響應頭信息中的Location標記來返回一個新的URL。 這意味著HTTP代理需要繼續請求這個新的URL,完成自動跳轉。 性能缺陷: 1、吞吐率限制 主站點服務器的吞吐率平均分配到了被轉移的服務器。 現假設使用RR(Round Robin)調度策略,子服務器的最大吞吐率為1000reqs/s,那么主服務器的吞吐率要達到3000reqs/s才能完全發揮三臺子服務器的作用,那么如果有100臺子服務器,那么主服務器的吞吐率可想而知得有大? 相反,如果主服務的最大吞吐率為6000reqs/s,那么平均分配到子服務器的吞吐率為2000reqs/s,而現子服務器的最大吞吐率為1000reqs/s,因此就得增加子服務器的數量,增加到6個才能滿足。 2、重定向訪問深度不同 有的重定向一個靜態頁面,有的重定向相比復雜的動態頁面,那么實際服務器的負載差異是不可預料的,而主站服務器卻一無所知。因此整站使用重定向方法做負載均衡不太好。 我們需要權衡轉移請求的開銷和處理實際請求的開銷,前者相對于后者越小,那么重定向的意義就越大,例如下載。 你可以去很多鏡像下載網站試下,會發現基本下載都使用了Location做了重定向。 DNS 負載均衡 DNS負責提供域名解析服務,當訪問某個站點時,實際上首先需要通過該站點域名的DNS服務器來獲取域名指向的IP地址,在這一過程中,DNS服務器完成了域名到IP地址的映射。 同樣,這樣映射也可以是一對多的,這時候,DNS服務器便充當了負載均衡調度器,它就像http重定向轉換策略一樣,將用戶的請求分散到多臺服務器上,但是它的實現機制完全不同。 使用dig命令來看下"baidu"的DNS設置 可見baidu擁有三個A記錄 相比http重定向,基于DNS的負載均衡完全節省了所謂的主站點,或者說DNS服務器已經充當了主站點的職能。 但不同的是,作為調度器,DNS服務器本身的性能幾乎不用擔心。 因為DNS記錄可以被用戶瀏覽器或者互聯網接入服務商的各級DNS服務器緩存,只有當緩存過期后才會重新向域名的DNS服務器請求解析。 也說是DNS不存在http的吞吐率限制,理論上可以無限增加實際服務器的數量。 特性: 1、可以根據用戶IP來進行智能解析。DNS服務器可以在所有可用的A記錄中尋找離用記最近的一臺服務器。 2、動態DNS:在每次IP地址變更時,及時更新DNS服務器。當然,因為緩存,一定的延遲不可避免。 不足: 1、沒有用戶能直接看到DNS解析到了哪一臺實際服務器,加服務器運維人員的調試帶來了不便。 2、策略的局限性。例如你無法將HTTP請求的上下文引入到調度策略中,而在前面介紹的基于HTTP重定向的負載均衡系統中,調度器工作在HTTP層面,它可以充分理解HTTP請求后根據站點的應用邏輯來設計調度策略,比如根據請求不同的URL來進行合理的過濾和轉移。 3、如果要根據實際服務器的實時負載差異來調整調度策略,這需要DNS服務器在每次解析操作時分析各服務器的健康狀態,對于DNS服務器來說,這種自定義開發存在較高的門檻,更何況大多數站點只是使用第三方DNS服務。 4、DNS記錄緩存,各級節點的DNS服務器不同程序的緩存會讓你暈頭轉向。 5、基于以上幾點,DNS服務器并不能很好地完成工作量均衡分配,最后,是否選擇基于DNS的負載均衡方式完全取決于你的需要。 反向代理負載均衡 這個肯定大家都有所接觸,因為幾乎所有主流的Web服務器都熱衷于支持基于反向代理的負載均衡。它的核心工作就是轉發HTTP請求。 相比前面的HTTP重定向和DNS解析,反向代理的調度器扮演的是用戶和實際服務器中間人的角色: 1、任何對于實際服務器的HTTP請求都必須經過調度器 2、調度器必須等待實際服務器的HTTP響應,并將它反饋給用戶(前兩種方式不需要經過調度反饋,是實際服務器直接發送給用戶) 特性: 1、調度策略豐富。例如可以為不同的實際服務器設置不同的權重,以達到能者多勞的效果。 2、對反向代理服務器的并發處理能力要求高,因為它工作在HTTP層面。 3、反向代理服務器進行轉發操作本身是需要一定開銷的,比如創建線程、與后端服務器建立TCP連接、接收后端服務器返回的處理結果、分析HTTP頭部信息、用戶空間和內核空間的頻繁切換等。 雖然這部分時間并不長,但是當后端服務器處理請求的時間非常短時,轉發的開銷就顯得尤為突出。例如請求靜態文件,更適合使用前面介紹的基于DNS的負載均衡方式。 4、反向代理服務器可以監控后端服務器,比如系統負載、響應時間、是否可用、TCP連接數、流量等,從而根據這些數據調整負載均衡的策略。 5、反射代理服務器可以讓用戶在一次會話周期內的所有請求始終轉發到一臺特定的后端服務器上(粘滯會話),這樣的好處一是保持session的本地訪問,二是防止后端服務器的動態內存緩存的資源浪費。 IP 負載均衡(LVS-NAT) 因為反向代理服務器工作在HTTP層,其本身的開銷就已經嚴重制約了可擴展性,從而也限制了它的性能極限。那能否在HTTP層面以下實現負載均衡呢? NAT服務器:它工作在傳輸層,它可以修改發送來的IP數據包,將數據包的目標地址修改為實際服務器地址。 從Linux2.4內核開始,其內置的Neftilter模塊在內核中維護著一些數據包過濾表,這些表包含了用于控制數據包過濾的規則。 可喜的是,Linux提供了iptables來對過濾表進行插入、修改和刪除等操作。更加令人振奮的是,Linux2.6.x內核中內置了IPVS模塊,它的工作性質類型于Netfilter模塊,不過它更專注于實現IP負載均衡。 想知道你的服務器內核是否已經安裝了IPVS模塊,可以 有輸出意味著IPVS已經安裝了。IPVS的管理工具是ipvsadm,它為提供了基于命令行的配置界面,可以通過它快速實現負載均衡系統。 這就是大名鼎鼎的LVS(Linux Virtual Server,Linux虛擬服務器)。 1、打開調度器的數據包轉發選項 echo 1 > /proc/sys/net/ipv4/ip_forward 2、檢查實際服務器是否已經將NAT服務器作為自己的默認網關,如果不是,如添加 route add default gw xx.xx.xx.xx 3、使用ipvsadm配置 ipvsadm -A -t 111.11.11.11:80 -s rr 添加一臺虛擬服務器,-t 后面是服務器的外網ip和端口,-s rr是指采用簡單輪詢的RR調度策略(這屬于靜態調度策略,除此之外,LVS還提供了系列的動態調度策略,比如最小連接(LC)、帶權重的最小連接(WLC),最短期望時間延遲(SED)等) ipvsadm -a -t 111.11.11.11:80 -r 10.10.120.210:8000 -m ipvsadm -a -t 111.11.11.11:80 -r 10.10.120.211:8000 -m 添加兩臺實際服務器(不需要有外網ip),-r后面是實際服務器的內網ip和端口,-m表示采用NAT方式來轉發數據包 運行ipvsadm -L -n可以查看實際服務器的狀態。這樣就大功告成了。 實驗證明使用基于NAT的負載均衡系統。作為調度器的NAT服務器可以將吞吐率提升到一個新的高度,幾乎是反向代理服務器的兩倍以上,這大多歸功于在內核中進行請求轉發的較低開銷。 但是一旦請求的內容過大時,不論是基于反向代理還是NAT,負載均衡的整體吞吐量都差距不大,這說明對于一睦開銷較大的內容,使用簡單的反向代理來搭建負載均衡系統是值考慮的。 這么強大的系統還是有它的瓶頸,那就是NAT服務器的網絡帶寬,包括內部網絡和外部網絡。 當然如果你不差錢,可以去花錢去購買千兆交換機或萬兆交換機,甚至負載均衡硬件設備,但如果你是個屌絲,咋辦? 一個簡單有效的辦法就是將基于NAT的集群和前面的DNS混合使用,比如5個100Mbps出口寬帶的集群,然后通過DNS來將用戶請求均衡地指向這些集群,同時,你還可以利用DNS智能解析實現地域就近訪問。 這樣的配置對于大多數業務是足夠了,但是對于提供下載或視頻等服務的大規模站點,NAT服務器還是不夠出色。 直接路由(LVS-DR) NAT是工作在網絡分層模型的傳輸層(第四層),而直接路由是工作在數據鏈路層(第二層),貌似更屌些。 它通過修改數據包的目標MAC地址(沒有修改目標IP),將數據包轉發到實際服務器上,不同的是,實際服務器的響應數據包將直接發送給客戶羰,而不經過調度器。 1、網絡設置 這里假設一臺負載均衡調度器,兩臺實際服務器,購買三個外網ip,一臺機一個,三臺機的默認網關需要相同,最后再設置同樣的ip別名,這里假設別名為10.10.120.193。 這樣一來,將通過10.10.120.193這個IP別名來訪問調度器,你可以將站點的域名指向這個IP別名。 2、將ip別名添加到回環接口lo上 這是為了讓實際服務器不要去尋找其他擁有這個IP別名的服務器,在實際服務器中運行:
另外還要防止實際服務器響應來自網絡中針對IP別名的ARP廣播,為此還要執行:
配置完了就可以使用ipvsadm配置LVS-DR集群了
-g 就意味著使用直接路由的方式轉發數據包 LVS-DR 相較于LVS-NAT的最大優勢在于LVS-DR不受調度器寬帶的限制,例如假設三臺服務器在WAN交換機出口寬帶都限制為10Mbps,只要對于連接調度器和兩臺實際服務器的LAN交換機沒有限速。 那么,使用LVS-DR理論上可以達到20Mbps的最大出口寬帶,因為它的實際服務器的響應數據包可以不經過調度器而直接發往用戶端啊,所以它與調度器的出口寬帶沒有關系,只能自身的有關系。 而如果使用LVS-NAT,集群只能最大使用10Mbps的寬帶。所以,越是響應數據包遠遠超過請求數據包的服務,就越應該降低調度器轉移請求的開銷,也就越能提高整體的擴展能力,最終也就越依賴于WAN出口寬帶。 總的來說,LVS-DR適合搭建可擴展的負載均衡系統,不論是Web服務器還是文件服務器,以及視頻服務器,它都擁有出色的性能。前提是你必須為實際器購買一系列的合法IP地址。 IP 隧道(LVS-TUN) 基于IP隧道的請求轉發機制:將調度器收到的IP數據包封裝在一個新的IP數據包中,轉交給實際服務器,然后實際服務器的響應數據包可以直接到達用戶端。 目前Linux大多支持,可以用LVS來實現,稱為LVS-TUN,與LVS-DR不同的是,實際服務器可以和調度器不在同一個WANt網段,調度器通過IP隧道技術來轉發請求到實際服務器,所以實際服務器也必須擁有合法的IP地址。 總體來說,LVS-DR和LVS-TUN都適合響應和請求不對稱的Web服務器,如何從它們中做出選擇,取決于你的網絡部署需要,因為LVS-TUN可以將實際服務器根據需要部署在不同的地域,并且根據就近訪問的原則來轉移請求,所以有類似這種需求的,就應該選擇LVS-TUN。 |
免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!
掃一掃,關注站長網微信
當我們在共享網絡訪問的時候,可能會遇到提示指定的網絡名不再可用的問題,這可能是由于我們的共享網絡出現了錯誤,也可能是被共享的對象所拒絕了。指定的網絡名 ......
文/曹楊 原標題:誰還看電視? 爸爸戴一副老花鏡,媽媽戴一副近視鏡,一人坐在沙發,一人躺在床上,各自刷著自己關注的博主更新的短視頻。電視也許開著,但只是背景。 這樣的畫面,幾乎成了洛奇家的常 ...
1、首先進入到“百度”軟件中, 2、然后在其中輸入“百度識圖”, 3、之后點擊圖中的“開始使用”按鈕, 4、緊接著點擊右下角的“相冊”功能, 5、在相冊下 ......
圖片來源于簡書 文/郭開森 楊帆 陸玖財經準備開新欄目了,每周一創始人郭開森和楊帆合體郭德帆,對行業進行一些觀察和評論,第一篇我們仍是打算寫社區團購,這是當下最火的話題。 來過陸玖財經做客的朋友們...
一、軟件沖突1、首先確認是否是應用程序沖突導致的。2、查看是否只有特定幾個游戲或應用會導致該問題。3、如果是應用沖突,那么只要卸載這些app就可以解決了。二 ......
電腦端:1、大家可以點擊右邊鏈接進入網頁版的百度網盤,進入之后點擊“去登錄”。https://pan.baidu.com/2、之后正確的輸入賬號密碼進行登錄就好啦。手機端:1 ......
一、N100對比intel i3 1、N100的跑分達到了147210分,這個數據可以達到i3的七代級別。 2、在跑分上也是超越了大部分的I3七代CPU,不過比I3八代要弱勢一些。 3 ......
在填寫一些項目申請書中,總是免不了要選擇一些數字,但是在方框中如何插入數字,該怎么辦呢?那么下面就由學習啦小編給大家分享下word在方框里輸入數字的技巧, ......
8月15日消息 上周,有媒體報道前身為百度圖片的“榴蓮”APP含有大量不雅視頻內容被用戶舉報。對此,百度圖片官方進行了回應,百度圖片表示已經對報道中所涉及的“生吃旋風哥”等爭議內容進行了下線處理。 此外,百度...
WPS Office手機版怎么加橫線?很多用戶還不知道WPS Office手機版怎么加橫線,WPS Office手機版怎么加橫線,WPS Office手機版怎么打橫線,WPS Office手機版怎么弄 ......
迅雷前綴是什么 答:迅雷前綴是(magnet:?xt=urn:btih:)括號里的就是了。 我們只要在這段文字之后輸入后續的內容,就可以創建下載鏈接了。 1、磁力鏈接不基于文 ......
一、內容特權。 1、半價點播。 許多站內視頻都需要付費觀看,而大會員用戶可以直接半價享受; 購買成功后的48h內無限次觀看。有部分的內容是只限在中國大陸內觀 ......
1、首先打開小米運動的“實驗室功能”。 2、接著點擊“門卡模擬”。 3、然后點擊“我知道了”。 4、最后貼近就可以刷卡成功了。...
答:華為P系列: 華為p40,華為p40plus,華為p50,華為p50e,華為p60 華為mate系列: 華為mate40,華為mate50,華為mate50e,華為mate60 華為nova系列: 華為n ......
近期有用戶反映,電腦在更新Windows 11 Insider Preview 25252.1000后,出現了應用和已壓縮的文件點擊毫無反應,拖拽都不行,只能從開始菜單打開的情況,這是怎 ......
可見單元格就是不包括隱藏或者篩選篩選后隱藏起來的單元格區域。方法:篩選或隱藏數據,復制需要粘貼的值,在目標單元格區域左上角的第一個單元格處右擊,選擇【 ......
答:驍龍8+更好。 驍龍7+gen2實際上就是驍龍8+的低配版本。 在一些其他的核心架構方面都是保持一致的,比如說CPU的架構、GPU的架構等等。 驍龍7+和驍龍8+具體 ......
文/黎明 一場針對中國互聯網巨頭的反壟斷風暴正在醞釀,而且這次動真格了。 11月10日,國家市場監管總局發布《關于平臺經濟領域的反壟斷指南(征求意見稿)》,要加大對互聯網巨頭涉嫌壟斷的調查和監管。 ...
win11系統如何釋放掉系統默認保留的存儲空間?一般情況下,Windows會保留一些存儲空間,以便設備獲得良好性能和成功更新。但是當出現系統盤儲存空間不足時,我們會將幾個G的保留空間釋放出來,以解燃眉之急。本期教...
文件被win10系統誤報病毒自動刪除了如何進行恢復?有用戶下載了某些破解軟件卻被Win10系統誤認為是病毒文件而自動刪除,當然系統自帶殺毒軟件其實挺不錯的,就是有時候會誤報,大家遇到這種情況的時候就希望把誤刪的...
1、先打開機頂盒進入主界面,并且使用遙控器打開設置。 2、然后選擇“賬號與安全”,并且進入。 3、最后往下面翻就可以看到“ADB調試”的選項,直接開啟就行了 ......
答:在3DMark壓力測試當中,顯卡需要超高97%才能夠算合格,證明顯卡的穩定性是過關的。 1、一般的默認情況下在2500~3000分就算很正常的了。 2、分數越高說明顯卡 ......
羅技g304dpi燈顏色代表什么:1、藍色:這種情況是正常工作的顯示,如果說是常亮或者閃爍,那都沒有問題這是在正常工作呢。2、紅色:如果說是紅燈閃爍的話那就是 ......
win11系統快速跳過聯網創建本地管理賬戶3種方法?現在市面上銷售的品牌筆記本和臺式機基本上都預裝Windows11家庭中文版正版操作系統,聯網后系統會自動激活。當用戶拿到新機器后還需要按照cortana(小娜)的提示一步...
答:中高端水平 i513500hx在處理器當中是處于一個中高端的水平。 i513500hx是第十一代酷睿處理器系列的一員,基礎頻率為2.4GHz,表現十分的不錯。 i513500hx介 ......
我們經常用WPS的時候,如果需要輸入波浪號~,會發現鍵盤上的波浪號輸入之后在最上面,但是為了美觀,我們希望波浪號顯示在中間。這里總結了三個方法分享給大家 ......
相信有非常多使用過筆記本的用戶都聽說過獨顯直連這個詞,但很多用戶并不了解獨顯直連是什么,又有什么用處,那么下面就和小編一起來看看什么是獨顯直連和開啟這 ......
win11系統開機總是自動登錄OneDrive如何關閉?win11系統開機的時候,會自動啟動OneDrive,不想要啟動,該怎么操作呢?下面我們就來看看詳細的教程。 在OneDrive界面點小齒輪按鈕,下拉菜單中點【設置】。 單擊【...
打開軟件,直接填寫就可以。 1、下載安裝easyconnect軟件, 2、打開easyconnect應用,在如圖所示的“服務器地址”一欄輸入如圖所示網址,點擊“連接”, 3、等 ......