自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

分布式系統(tǒng)設(shè)計(jì)之負(fù)載均衡算法

網(wǎng)絡(luò) 通信技術(shù) 分布式 算法
在分布式系統(tǒng)設(shè)計(jì)當(dāng)中,一般會對服務(wù)進(jìn)行集群部署,集群中的多個節(jié)點(diǎn)提供相同的服務(wù),所以可以將對該服務(wù)的請求分發(fā)給集群的任意一個節(jié)點(diǎn)來處理。

 概述

在分布式系統(tǒng)設(shè)計(jì)當(dāng)中,一般會對服務(wù)進(jìn)行集群部署,集群中的多個節(jié)點(diǎn)提供相同的服務(wù),所以可以將對該服務(wù)的請求分發(fā)給集群的任意一個節(jié)點(diǎn)來處理。為了將請求合理分發(fā)給集群的節(jié)點(diǎn)進(jìn)行處理,即既要保證集群的每個節(jié)點(diǎn)都能夠分配到請求,又能夠?qū)崿F(xiàn)不會給某個節(jié)點(diǎn)分配過多請求,導(dǎo)致超過節(jié)點(diǎn)處理能力,所以需要基于一定的規(guī)則來進(jìn)行請求分發(fā),這個規(guī)則也稱為負(fù)載均衡算法。以下詳細(xì)分析幾種常見的負(fù)載均衡算法的工作原理。

[[270439]]

1.輪詢

輪詢算法主要是將客戶端發(fā)送到負(fù)載均衡器的請求依次輪流地轉(zhuǎn)發(fā)給服務(wù)集群的某個節(jié)點(diǎn),而不需要考慮每個集群節(jié)點(diǎn)當(dāng)前的連接數(shù)和工作負(fù)載以及該節(jié)點(diǎn)的機(jī)器性能。該算法的好處是實(shí)現(xiàn)簡單,每個集群節(jié)點(diǎn)平均分擔(dān)所有的請求,缺點(diǎn)是當(dāng)集群節(jié)點(diǎn)對應(yīng)的機(jī)器存在性能差異時,可能會出現(xiàn)性能低的機(jī)器節(jié)點(diǎn)處理請求慢,而性能好的機(jī)器節(jié)點(diǎn)則存在空閑的系統(tǒng)資源沒有充分利用,所以一般用作集群所有節(jié)點(diǎn)的機(jī)器性能接近的情況。

2.隨機(jī)

隨機(jī)算法主要是隨機(jī)選取集群中的某個節(jié)點(diǎn)來處理該請求,由概率論的知識可知,隨著請求量的變大,隨機(jī)算法會逐漸演變?yōu)檩喸兯惴ǎ醇焊鱾€節(jié)點(diǎn)會處理差不多數(shù)量的請求。所以優(yōu)缺點(diǎn)也是與輪詢算法類似。

3.加權(quán)輪詢與加權(quán)隨機(jī)

加權(quán)算法主要是根據(jù)集群的節(jié)點(diǎn)對應(yīng)機(jī)器的性能的差異,給每個節(jié)點(diǎn)設(shè)置一個權(quán)重值,其中性能好的機(jī)器節(jié)點(diǎn)設(shè)置一個較大的權(quán)重值,而性能差的機(jī)器節(jié)點(diǎn)則設(shè)置一個較小的權(quán)重值。然后可以繼續(xù)基于輪詢或者隨機(jī)的算法來選取一個節(jié)點(diǎn)來處理請求,只是權(quán)重大的節(jié)點(diǎn)能夠被更多的選中。實(shí)現(xiàn)原理類似于在一個數(shù)組中選擇一個元素,而權(quán)重值就是對應(yīng)機(jī)器節(jié)點(diǎn)在數(shù)組中重復(fù)出現(xiàn)的次數(shù),如兩個節(jié)點(diǎn){ a,b },其中a節(jié)點(diǎn)的權(quán)重值為3,b節(jié)點(diǎn)的權(quán)重值為1,則數(shù)組的組成為:[a, a, a, b],所以不管是輪詢還是隨機(jī)選取都是a選擇的次數(shù)更多。

4. 哈希與一致性哈希

哈希算法主要將對請求的IP地址或者URL計(jì)算一個哈希值,然后與集群節(jié)點(diǎn)的數(shù)量進(jìn)行取模來決定將請求分發(fā)給哪個集群節(jié)點(diǎn)。這種哈希算法實(shí)現(xiàn)簡單并且在集群節(jié)點(diǎn)數(shù)量不變的情況下,能夠?qū)⑾嗤琁P地址的請求分發(fā)給相同的機(jī)器處理。但是如果集群節(jié)點(diǎn)發(fā)生變化,則會對集群的所有節(jié)點(diǎn)進(jìn)行影響,如可能導(dǎo)致某個機(jī)器性能較低的節(jié)點(diǎn)突然接收到大量請求,從而影響集群的整體穩(wěn)定性。

一致性哈希算法主要是基于一致性哈希函數(shù)來實(shí)現(xiàn),一致性哈希函數(shù)會將給定的參數(shù)映射到由2的32次方個點(diǎn)組成的環(huán)形槽的某個槽點(diǎn)上。

在使用一致性哈希函數(shù)來進(jìn)行負(fù)載均衡時,首先將集群的多個節(jié)點(diǎn)哈希到該環(huán)形槽的對應(yīng)的某個槽點(diǎn)上,然后當(dāng)負(fù)載均衡器接收到請求時,使用該請求的IP地址或者URL來作為一致性哈希函數(shù)的參數(shù),生成該請求對應(yīng)環(huán)形槽的某個槽點(diǎn),***從順時針方向找到***個位于該環(huán)形槽的集群節(jié)點(diǎn),則將該請求轉(zhuǎn)發(fā)給這個集群節(jié)點(diǎn)處理。

由一致性哈希算法的實(shí)現(xiàn)原理可知,如果集群節(jié)點(diǎn)的個數(shù)不變,則相同IP地址或者相同URL的請求都會轉(zhuǎn)發(fā)到相同的集群節(jié)點(diǎn)來處理;如果集群節(jié)點(diǎn)數(shù)量發(fā)生變化,則只會影響該增加或者刪除的節(jié)點(diǎn)按順時針方向的后一個節(jié)點(diǎn),所以能夠很方便的實(shí)現(xiàn)集群的拓容和縮容。

5.最少連接數(shù)

最少連接數(shù)負(fù)載均衡算法是一種智能、動態(tài)的負(fù)載均衡算法,主要是根據(jù)集群的每個節(jié)點(diǎn)的當(dāng)前連接數(shù)來決定將請求轉(zhuǎn)發(fā)給哪個節(jié)點(diǎn),即每次都將請求轉(zhuǎn)發(fā)給當(dāng)前存在最少并發(fā)連接的節(jié)點(diǎn)。

這種負(fù)載均衡算法的好處是可以根據(jù)集群節(jié)點(diǎn)的負(fù)載情況來進(jìn)行請求的動態(tài)分發(fā),即機(jī)器性能好,處理請求快,積壓請求少的節(jié)點(diǎn)分配更多的請求,反之則分配更少的請求,從而實(shí)現(xiàn)集群的整體穩(wěn)定性和將請求合理分發(fā)到每一個節(jié)點(diǎn),避免某個節(jié)點(diǎn)因?yàn)樘幚沓^自身所能承受的請求量而導(dǎo)致宕機(jī)或者響應(yīng)過慢。

6.最快響應(yīng)時間

最快響應(yīng)時間負(fù)載均衡算法也是一種智能、動態(tài)的負(fù)載均衡算法,與最少連接數(shù)類似,也是根據(jù)集群節(jié)點(diǎn)的負(fù)載情況來將請求合理分發(fā)到各個節(jié)點(diǎn),實(shí)現(xiàn)集群的整體穩(wěn)定性和機(jī)器資源的重復(fù)利用。與最少連接數(shù)不同的是,最快響應(yīng)時間是基于請求與響應(yīng)的時間延遲來衡量機(jī)器的負(fù)載情況的,即將請求分發(fā)給當(dāng)前處理請求最快,負(fù)載均衡器從該節(jié)點(diǎn)獲取響應(yīng)延遲最小的節(jié)點(diǎn),而響應(yīng)時間慢的節(jié)點(diǎn)則分配更少的請求。

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2019-07-17 22:23:01

分布式系統(tǒng)負(fù)載均衡架構(gòu)

2013-03-01 09:55:28

負(fù)載均衡分布式存儲集群

2014-06-11 09:17:39

負(fù)載均衡

2023-11-03 08:13:35

ZAB協(xié)議負(fù)載均衡

2019-03-27 08:43:17

Nginx負(fù)載均衡服務(wù)器

2014-05-23 10:30:25

負(fù)載均衡分布式架構(gòu)

2021-01-26 05:35:24

負(fù)載均衡系統(tǒng)設(shè)計(jì)

2021-01-27 09:45:17

負(fù)載均衡

2017-09-26 15:24:48

分布式集群均衡

2024-07-16 08:09:32

載均衡技術(shù)Pulsar分布式系統(tǒng)

2012-07-06 09:27:02

云計(jì)算分布式服務(wù)器負(fù)載均衡

2024-05-16 07:51:55

分布式系統(tǒng)架構(gòu)

2019-09-05 13:06:08

雪花算法分布式ID

2023-10-08 10:49:16

搜索系統(tǒng)分布式系統(tǒng)

2019-05-07 11:57:26

分布式架構(gòu)負(fù)載均衡

2024-06-03 14:17:00

2013-01-07 10:29:31

大數(shù)據(jù)

2017-12-12 14:51:15

分布式緩存設(shè)計(jì)

2019-09-05 09:02:45

消息系統(tǒng)緩存高可用

2022-04-07 17:13:09

緩存算法服務(wù)端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號