負(fù)載均衡常見的負(fù)載均衡算法,有權(quán)重隨機(jī)、Hash、輪詢。一、什么是負(fù)載均衡當(dāng)單個(gè)節(jié)點(diǎn)的服務(wù),無法支持當(dāng)前的大量請(qǐng)求時(shí),我們會(huì)部署多個(gè)節(jié)點(diǎn),即所謂的集群,此時(shí)要使每個(gè)節(jié)點(diǎn)收到的請(qǐng)求均勻的算法,這個(gè)策略就是所謂的負(fù)載均衡了,權(quán)重隨機(jī)這個(gè)是最簡(jiǎn)單,也是最常用的負(fù)載均衡算法,即每個(gè)請(qǐng)求過來,會(huì)隨機(jī)到任何一個(gè)服務(wù)節(jié)點(diǎn)上,主流的rpc框架Dubbo,默認(rèn)使用基于權(quán)重隨機(jī)算法。
1、什么是負(fù)載均衡,為何要做負(fù)載均衡?
一、什么是負(fù)載均衡當(dāng)單個(gè)節(jié)點(diǎn)的服務(wù),無法支持當(dāng)前的大量請(qǐng)求時(shí),我們會(huì)部署多個(gè)節(jié)點(diǎn),即所謂的集群,此時(shí)要使每個(gè)節(jié)點(diǎn)收到的請(qǐng)求均勻的算法,這個(gè)策略就是所謂的負(fù)載均衡了。負(fù)載均衡常見的負(fù)載均衡算法,有權(quán)重隨機(jī)、Hash、輪詢,1.權(quán)重隨機(jī)這個(gè)是最簡(jiǎn)單,也是最常用的負(fù)載均衡算法,即每個(gè)請(qǐng)求過來,會(huì)隨機(jī)到任何一個(gè)服務(wù)節(jié)點(diǎn)上,主流的rpc框架Dubbo,默認(rèn)使用基于權(quán)重隨機(jī)算法。
2.Hash可以將客服端即請(qǐng)求端的ip,通過hash計(jì)算,得到一個(gè)數(shù)值,再取服務(wù)節(jié)點(diǎn)數(shù)的模,分配到對(duì)應(yīng)的服務(wù)節(jié)點(diǎn)上,3.輪詢將請(qǐng)求按照順序,依次分配到節(jié)點(diǎn)1、節(jié)點(diǎn)2、節(jié)點(diǎn)3等節(jié)點(diǎn)上,如此循環(huán)往復(fù)。二、為什么要做負(fù)載均衡想想如果沒有負(fù)載均衡算法,我們的請(qǐng)求有可能都打到同一節(jié)點(diǎn)上,有可能將這個(gè)節(jié)點(diǎn)給打死,而其他節(jié)點(diǎn)的機(jī)器閑置著沒有提供服務(wù),浪費(fèi)資源。