真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

負(fù)載均衡算法-創(chuàng)新互聯(lián)

1. 什么是負(fù)載均衡

負(fù)載均衡(Load Balance),指由多臺(tái)服務(wù)器以對(duì)稱的方式組成一個(gè)服務(wù)器集合,每臺(tái)服務(wù)器都具有等價(jià)的地位,都可以單獨(dú)對(duì)外提供服務(wù)而無須其他服務(wù)器的輔助。通過某種負(fù)載分擔(dān)技術(shù),將外部發(fā)送來的請(qǐng)求均勻分配到對(duì)稱結(jié)構(gòu)中的某一臺(tái)服務(wù)器上,而接收到請(qǐng)求的服務(wù)器獨(dú)立地回應(yīng)客戶的請(qǐng)求。負(fù)載均衡能夠平均分配客戶請(qǐng)求到服務(wù)器陣列,借此提供快速獲取重要數(shù)據(jù),解決大量并發(fā)訪問服務(wù)問題,這種集群技術(shù)可以用最少的投資獲得接近于大型主機(jī)的性能。

創(chuàng)新互聯(lián)建站專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、秦淮網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為秦淮等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
目前負(fù)載均衡算法主要分為兩類:

靜態(tài)負(fù)載均衡算法:以固定的概率分配任務(wù),不考慮服務(wù)器的狀態(tài)信息,如:輪詢法、隨機(jī)法、加權(quán)輪詢法、加權(quán)隨機(jī)法等。
動(dòng)態(tài)負(fù)載均衡算法:以服務(wù)器的實(shí)時(shí)負(fù)載狀態(tài)信息來決定任務(wù)的分配,如:最小連接法、映射分配、加權(quán)、Hash、最小時(shí)延等。

2. 負(fù)載均衡算法 2.1. 靜態(tài)負(fù)載均衡算法 2.1.1. 輪詢算法(Round Robin)

輪詢算法是最簡單的一種負(fù)載均衡算法。它的原理是把來自用戶的請(qǐng)求輪流分配給內(nèi)部的服務(wù)器:從服務(wù)器1開始,直到服務(wù)器N,然后重新開始循環(huán)

負(fù)載均衡算法:rest接口第幾次請(qǐng)求數(shù) % 服務(wù)器集群總數(shù)量 = 實(shí)際調(diào)用服務(wù)器位置下標(biāo) ,每次服務(wù)重啟動(dòng)后rest接口計(jì)數(shù)從1開始。

2.1.1.1. 優(yōu)點(diǎn)

服務(wù)器請(qǐng)求數(shù)目相同;

2.1.1.2. 缺點(diǎn)

服務(wù)器壓力不一樣,不適合服務(wù)器配置不同的情況;

2.1.1.3. 結(jié)論

輪詢法適用于機(jī)器性能都在同一水平的服務(wù),一旦某臺(tái)機(jī)器性能不好,極有可能產(chǎn)生木桶效應(yīng),性能差的機(jī)器扛不住更多的流量。

2.1.2. 隨機(jī)算法(Random)

隨機(jī)法,是隨機(jī)選擇一臺(tái)服務(wù)器來分配任務(wù)。它保證了請(qǐng)求的分散性達(dá)到了均衡的目的。同時(shí)它是沒有狀態(tài)的不需要維持上次的選擇狀態(tài)和均衡因子。但是隨著任務(wù)量的增大,它的效果趨向輪詢后也會(huì)具有輪詢算法的部分缺點(diǎn)。

2.1.2.1. 優(yōu)點(diǎn)

使用簡單;

2.1.2.2. 缺點(diǎn)

不適合機(jī)器配置不同的場景

2.1.2.3. 結(jié)論

不適合機(jī)器配置不同的場景,一旦某臺(tái)機(jī)器性能不好,極有可能產(chǎn)生木桶效應(yīng),性能差的機(jī)器扛不住更多的流量。

3.1.3. 加權(quán)輪詢算法(Weight Round Robin)

實(shí)際上,不同的服務(wù)器存在著配置和當(dāng)前系統(tǒng)的負(fù)載不相同,因此它們的處理能力也不一樣。所以對(duì)配置高、負(fù)載低的機(jī)器分配更高的權(quán)重,使其能夠處理更多的請(qǐng)求,而配置低、負(fù)載高的機(jī)器,則給其分配較低的權(quán)重,降低其系統(tǒng)負(fù)載,加權(quán)輪詢很好的處理了這一問題,并將請(qǐng)求按照順序且根據(jù)權(quán)重分配給服務(wù)器。

加權(quán)輪詢是對(duì)基本輪詢算法的一個(gè)補(bǔ)充。加權(quán)輪詢是指給后端的每個(gè)節(jié)點(diǎn)都賦予權(quán)重,分配請(qǐng)求時(shí),不只按照節(jié)點(diǎn)數(shù)量輪詢,而是按照節(jié)點(diǎn)的權(quán)重來決定輪詢的個(gè)數(shù)。按照權(quán)重的總和來輪詢,再根據(jù)沒個(gè)權(quán)重所屬的服務(wù)節(jié)點(diǎn)來決定將請(qǐng)求分配給哪個(gè)節(jié)點(diǎn)。

權(quán)重高的節(jié)點(diǎn)占用的輪詢份數(shù)較多,被請(qǐng)求的次數(shù)增加,權(quán)重小的節(jié)點(diǎn)占用的輪詢份數(shù)較少,被請(qǐng)求的次數(shù)減少。

3.1.4. 加權(quán)隨機(jī)算法(Weight Random)

與加權(quán)輪詢法類似,加權(quán)隨機(jī)法也是根據(jù)服務(wù)器不同的配置和負(fù)載情況來配置不同的權(quán)重。不同的是,它是按照權(quán)重來隨機(jī)選擇服務(wù)器的,而不是順序。

該算法思想和大多數(shù)插卡游戲的控制卡片的稀有度是一致的。

2.2. 動(dòng)態(tài)負(fù)載均衡算法 2.2.1. 最小連接數(shù)算法(Least Connections)

最小連接法,將任務(wù)分配給此時(shí)具有最小連接數(shù)的服務(wù)器。當(dāng)一臺(tái)服務(wù)器收到一個(gè)請(qǐng)求后,它的連接數(shù)間1。但是根據(jù)連接數(shù)并不能真實(shí)的反應(yīng)服務(wù)器的負(fù)載能力,當(dāng)服務(wù)器不處于同一水平時(shí),有可能連接數(shù)少的服務(wù)器處理能力差,而連接數(shù)多的服務(wù)器處理能力強(qiáng)。

最小連接數(shù)法是根據(jù)服務(wù)器當(dāng)前的連接情況進(jìn)行負(fù)載均衡的,當(dāng)請(qǐng)求到來時(shí),會(huì)選取當(dāng)前連接數(shù)最少的一臺(tái)服務(wù)器來處理請(qǐng)求。由此也可以延伸出,根據(jù)服務(wù)器 CPU 占用最少,根據(jù)單位時(shí)間內(nèi)處理請(qǐng)求的效率高低等進(jìn)行服務(wù)器選擇。最小連接數(shù)法只是動(dòng)態(tài)分配服務(wù)器的一種算法,通過各種維度的參數(shù)計(jì)算,可以找到適合不同場景的更均衡的動(dòng)態(tài)分配服務(wù)器的方案。

2.2.2. 映射分配

無狀態(tài)的服務(wù)可采用輪詢或隨機(jī)算法。但有些服務(wù)是有狀態(tài)的,例如,一些存儲(chǔ)信息或具有緩存的服務(wù)。具有固定 Key 的請(qǐng)求要落在固定的節(jié)點(diǎn)上,這時(shí)就要通過靜態(tài)分配來均衡分配請(qǐng)求。

2.2.3. 加權(quán)

在輪詢,隨機(jī),最少鏈接,Hash等算法的基礎(chǔ)上,通過加權(quán)的方式,進(jìn)行負(fù)載服務(wù)器分配

2.2.4. Hash 2.2.4.1. Hash分類
  1. IP Hash

對(duì)請(qǐng)求的ip地址用hash算法映射到服務(wù)器上,保證一個(gè)客戶端的所有請(qǐng)求都命中到一臺(tái)服務(wù)器上,適合服務(wù)端保存客戶端的狀態(tài),開啟session會(huì)話的情況,但是不能跨服務(wù)器會(huì)話,如果服務(wù)器有新上線,下線,重啟等導(dǎo)致服務(wù)器序號(hào)發(fā)生改變時(shí)會(huì)導(dǎo)致此種策略異常

  1. URL Hash

對(duì)url請(qǐng)求使用hash映射到指定服務(wù)器,可以配合緩存使用,在各服務(wù)器不共享緩存的情況下,對(duì)需要緩存的請(qǐng)求都打到一臺(tái)服務(wù)器上避免其他服務(wù)器重復(fù)緩存

  1. 一致性Hash

一致性hash最初是用來解決分布式緩存中節(jié)點(diǎn)查找問題,由于緩存是多節(jié)點(diǎn)部署的,這些節(jié)點(diǎn)都存儲(chǔ)了
不同的數(shù)據(jù)(每個(gè)節(jié)點(diǎn)可以是主備部署,實(shí)時(shí)同步),那我們?cè)谌?shù)據(jù)的時(shí)候怎么取,通過hash算法可以定位到一個(gè)緩存節(jié)點(diǎn),但是,當(dāng)一個(gè)節(jié)點(diǎn)掛掉或者新增一個(gè)幾點(diǎn),節(jié)點(diǎn)的位置序號(hào)發(fā)生變動(dòng)時(shí),普通hash算法的定位就不準(zhǔn)確了
于是一致性hash算法營運(yùn)而生
將主機(jī)(ip或者主機(jī)名等唯一標(biāo)識(shí))按一致性hash算法分布在0 — 223-1的閉環(huán)圓圈上,當(dāng)我們?nèi)∧硞€(gè)值的時(shí)候,將這個(gè)數(shù)據(jù)的key用相同的hash算法映射到0 — 223-1上,從這個(gè)位置順時(shí)針找到的第一個(gè)緩存節(jié)點(diǎn),就是這個(gè)數(shù)據(jù)存儲(chǔ)位置

2.2.4.2. 特點(diǎn)

數(shù)據(jù)容錯(cuò)性和可擴(kuò)展性 :當(dāng)我們刪除或新增其中一個(gè)節(jié)點(diǎn),影響的只是這個(gè)節(jié)點(diǎn)之前的數(shù)據(jù),其他節(jié)點(diǎn)并未受影響
數(shù)據(jù)傾斜問題解決:幾個(gè)緩存節(jié)點(diǎn)在圓上的分布可能并不是對(duì)稱的,但我們可以增加虛擬的對(duì)稱節(jié)點(diǎn)來解決

2.2.5. 最小時(shí)延

最小時(shí)延要統(tǒng)計(jì)服務(wù)器一段時(shí)間的客戶端請(qǐng)求響應(yīng)平均耗時(shí),來確定下一次請(qǐng)求到來時(shí)選擇當(dāng)前最小連接數(shù)的服務(wù)器或者響應(yīng)最快的服務(wù)器

3. Nginx支持的算法

nginx可以支持輪詢(默認(rèn)),加權(quán)輪詢,IP_Hash算法,像最小連接 最小時(shí)延這種智能的fair方式以及URL_Hash方式都需要第三方插件支持

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


名稱欄目:負(fù)載均衡算法-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://weahome.cn/article/dochgo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部