日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

lvs十种调度策略+三种模式

發布時間:2025/7/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lvs十种调度策略+三种模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

LVS負載均衡

負載均衡技術(模式):

1、lvs-DR(direct?routing)直接路由模式:客戶進來的請求先經過調度器,然后再丟給服務器,最后由服務器直接發送請求給客戶端(不需要再次經過調度器,這個可以跟很多服務器,因為它回應請求不需要經過調度器)。一般是在公司,就是同一網絡里用。?性能好,安全性差。但這個用的最多。

?

2、LVS-NAT(Network?address?translation):??客戶進來的請求先經過調度器,然后再丟給服務器,接著服務器再把請求丟給調度器,從而最后是由調度器來回應給客戶端。(這樣的話,調度器比較忙,所以調度器后面不能跟太多服務器,3-5臺即可,這個ddos攻擊的時候相對來說更安全一些,因為服務器沒有直接暴露在外面,是隱藏在調度器后面,相對性能會差一些)

?

3、LVS-TUN(IP?tunneling):隧道模式?:??起到備份或是cdn加速的功能。備份:例如有3臺服務器,其中一臺壞掉了,那么請求就會分給其他兩臺服務器。cdn加速:北京的請求就分給北京的服務器,上海的請求就分給上海的服務器,武漢的就分給武漢的服務器,這樣來平均負載。用的最少

? ? ? ? ? ?lvs的IP地址類型?

?

調度算法

lvs分為靜態(四種)與動態(六種)


輪循調度(rr)

:將外部請求按順序輪流分配到集群中的真實服務器上,它均衡的對待每一臺服務器,而不管服務器上實際的連接數和負載數。

優點:速度快,將外部請求按順序輪流分配到集群中的真實服務器上。

缺點:不管服務器上實際的連接數和負載數。權重無效,因為不管怎么設置,它總是均衡的將外部請求按順序輪流分配到集群中的真實服務器上。

加權輪循(wrr):

數字越大,權重越高:調度算法根據真實服務器的不同處理能力來調度訪問請求,這樣可以保證處理能力強的服務器處理更多的訪問流量。調度器可以自動問詢真實服務器的附載情況,并動態的調整其權重值。

優點:可根據服務器的性能來設置權重,從而達到負載。

缺點:不管服務器忙與不忙,都會按照你之前的權重來進行負載訪問。

根據權重來判斷。

?

目標地址散列(DH)

:根據請表求的目標ip地址,作為散列鍵(hash?key)?從靜態分配的散列表找出對應的服務器,若服務器是可用的且未超載,將請求發送到服務器,否則返回空。(相當于給wrr策略做了一次擴展)

優點:1、首先根據權重來訪問哪一個服務器,然后第一個請求訪問服務器后,接著只要是這個ip進行的訪問,都會在這個服務器上,有緩存來進行加速訪問。2、原客戶端ip進行訪問的同時,不會去跑到第二個服務器上。

缺點:不管你忙與不忙,都會按照你之前的權重來進行訪問。后端所跟的服務器不會太多,否則director?server的壓力就會變得過大。

源地址散列(SH)

:根據請表求的源ip地址,作為散列鍵(hash?key)?從靜態分配的散列表找出對應的服務器,若服務器是可用的且未超載,將請求發送到服務器,否則返回空。(從哪個接口出去,再從哪個接口回來,相當于給rr做了次擴展)

Iptables里有個狀態跟蹤,必須從哪個網關(接口)出去,再從哪個網關(接口)回來,否則這個狀態就會沒有意義。這個也是一樣,必須是從哪個接口出去,再從哪個接口回來。(目的保證)

靜態的有緩存,而動態的沒有,靜態的比較笨一些,動態的智能一些。


1、最少鏈接:(LC):

根據活動連接數與非活動鏈接數的總和進行判斷。

活動連接:請求服務訪問,例如提交數據或是在往數據庫里寫東西的時候。

非活動連接:例如:已經建立起3次握手了。在訪問網頁的同時,停留在網頁中,不提交數據或是不寫數據的時候。

連接數=活動連接數+非活動連接數?來判斷的

開銷:最后計算請求書哪個最小就丟給誰??

?

???????

Server1:共有1000個請求(例如),900個變成非活動連接,100個活動連接,就是用100*256+900(非活動連接)

Server2:共有1000個請求,結果全部成為非活動連接(都走了)0*256+1000(非活動連接)??

根據以上算法,來判斷哪個請求較少,誰小就丟給誰。

2、加權最少鏈接:(WLC):

不設置調度算法,默認是wlc,(開銷除以權重(100*256+900)/3),

還是拿上面的那個例子說

Server1:權重是3??(100*256+900)/3

Server2:權重是1???(0*256+1000)/1

誰少就丟給誰。


3、基于局部性的最少鏈接(LBLC):

在DH的基礎上做微調,簡單的說就是把DH做成動態調度算法。

DH:訪問一個請求的時候,會一直在第一次訪問時的那臺服務器上。

而LBLC就是盡量讓它在第一次訪問的服務器上,但如果發現訪問的原來第一次服務器上的數據過大時,它便會去其它的服務器上。

算發還是用的WLC的算法。

4、帶復制的基于局部性最少鏈接(LBLCR):

簡單說就是又在LBLC的基礎上做的微調,把自己已有的緩存復制給別人(緩存共享)

?

5、最短的期望的延遲(SED):在WLC的基礎之上做的微調。

不考慮非活動連接數,只考慮活動連接數。(這種指的是特殊情況下做的微調)

例如:活動連接請求都為0???

Server1:權重是1???(0+1)*256/1=256

Server2:權重是10??(0+1)*256/10=25.6

當數據少的時候使用這個

活動連接+1(加1目的是為了讓它有誤差,當連接數少的時候會有突出)*256除以權重

這樣的目錄就是為了當一臺服務器的權重過高時,為了減少權重高一些的服務器的壓力,讓權重低的服務器幫忙也分擔一些出來。

6、最少隊列調度(NQ):只要是服務器端活動鏈接數為零,就丟給活動鏈接數為零的那臺服務器。(這種是特殊情況下做的微調)

本文轉自silence博客51CTO博客,原文鏈接http://blog.51cto.com/silencezone/1688672如需轉載請自行聯系原作者


a120518129

總結

以上是生活随笔為你收集整理的lvs十种调度策略+三种模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。