負(fù)載均衡種類及實(shí)現(xiàn)

2021-02-05    分類: 網(wǎng)站建設(shè)

業(yè)務(wù)增長到一定量級,單純的增加增加服務(wù)器的配置已經(jīng)不能滿足業(yè)務(wù)需求,這個時候集群模式就是出現(xiàn)了。在集群模式中,負(fù)載均衡是回避不了的。負(fù)載均衡就是將請求“均勻”的分?jǐn)偨o不同的服務(wù)器。

負(fù)載均衡

瀏覽器(客戶端)負(fù)載均衡

通過DNS來實(shí)現(xiàn)負(fù)載均衡。DNS是域名解析服務(wù)器,可以將域名轉(zhuǎn)換成IP。服務(wù)器可以將多個IP注冊到DNS,這樣DNS在解析的時候,可以以輪詢的方式返回這些IP中的一個,從而實(shí)現(xiàn)負(fù)載均衡。

這種實(shí)現(xiàn)方式的特點(diǎn)是,簡單。另外,這種方式還能夠根據(jù)客戶端的地理位置返回離客戶端較近的服務(wù)器的IP,加快與客戶端的交互。這種方式的弊端也非常明顯:1.小公司沒有能力構(gòu)建自己的DNS;2.DNS無法感知后端服務(wù)器的負(fù)載,只能實(shí)現(xiàn)簡單的輪詢處理;3.DNS的更新較慢。我們知道,域名會被緩存在本地和各級DNS中。當(dāng)域名對應(yīng)的IP更新的時候,客戶端要等到緩存過期才能使用新的IP。

LVS+nginx

LVS是四層負(fù)載均衡器,工作在內(nèi)核態(tài)。nginx是七層負(fù)載均衡器,當(dāng)然現(xiàn)在nginx也推出了四層負(fù)載均衡器,但是是收費(fèi)功能。什么是四層負(fù)載均衡器和七層負(fù)載均衡器呢?四層和七層是指負(fù)載均衡器工作在網(wǎng)絡(luò)協(xié)議的哪個層次。四層是IP層(網(wǎng)絡(luò)協(xié)議層),在這一層面的負(fù)載均衡器可以感知IP協(xié)議,也就是能夠知道客戶端的IP,可以根據(jù)客戶端的IP選擇將請求分發(fā)到哪個服務(wù)器上。請求的分發(fā)是通過修改目的IP的方式實(shí)現(xiàn)的,即將目的IP修改成后端服務(wù)器的IP。七層負(fù)載均衡器工作在應(yīng)用層,對于http請求,負(fù)載均衡器可以知道請求的URL、session等。一般情況下,四層負(fù)載均衡器的性能要高于七層負(fù)載均衡器。

對于nginx來說,配置簡單,通過可以實(shí)現(xiàn)輪詢、隨機(jī)、加權(quán)輪詢和基于連接數(shù)的負(fù)載均衡等。

為了提高LVS的可用性,我們使用雙機(jī)對外提供服務(wù)??梢允褂胟eepalived+VIP的方式實(shí)現(xiàn)雙機(jī)。雙機(jī)中,一臺機(jī)器是主機(jī),對外提供服務(wù),另一臺為備機(jī),不對外提供服務(wù)。二者通過keepalived軟件來判斷主機(jī)是否故障,自動完成VIP從主機(jī)切換到備機(jī)。主備機(jī)的切換對客戶端是無感知的。

服務(wù)層負(fù)載均衡

這一層一般使用RPC框架來實(shí)現(xiàn),如DUBBO、SpringCloud等。

數(shù)據(jù)存儲層

對于數(shù)據(jù)庫,有如下兩種常用的負(fù)載均衡方式:

1.讀寫分離。數(shù)據(jù)庫是一主多從,即一臺主服務(wù)器負(fù)責(zé)數(shù)據(jù)的寫操作,從庫對外提供讀服務(wù),主庫完成寫操作后,將更新同步到從庫或者從庫監(jiān)控主庫的寫LOG,將寫LOG同步到從庫。這種模式很適合寫少讀多的情況。

2.分庫。當(dāng)數(shù)據(jù)庫表大到一定規(guī)模后,就要考慮分庫了,即將一張表拆分到兩個數(shù)據(jù)庫中。常見的拆分規(guī)則有:

1)按照范圍拆分。比如對于用戶的ID,可以將小于5000的拆分到一個庫中,大于5000的拆分到另外一個庫。這種拆分比較簡單,但是可能會出現(xiàn)活躍的用戶僅在某一個段內(nèi),導(dǎo)致負(fù)載均衡效果不是很理想。

2)hash。比如根據(jù)用戶ID計(jì)算哈希值,然后對數(shù)據(jù)庫服務(wù)器個數(shù)取模,得到這個用戶應(yīng)該存儲在哪個數(shù)據(jù)庫。這種方式可以很好的實(shí)現(xiàn)負(fù)載均衡,但是在增加服務(wù)器的情況下,數(shù)據(jù)的重新分布比較慢,而且可能移動的數(shù)據(jù)比較多?,F(xiàn)在一般使用一致性hash,更好的實(shí)現(xiàn)負(fù)載均衡并較少服務(wù)器變化時數(shù)據(jù)移動的數(shù)量。

網(wǎng)站名稱:負(fù)載均衡種類及實(shí)現(xiàn)
文章路徑:http://www.muchs.cn/news47/99297.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、網(wǎng)站建設(shè)、服務(wù)器托管、品牌網(wǎng)站設(shè)計(jì)、商城網(wǎng)站、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)