本公開(kāi)涉及計(jì)算機(jī),尤其涉及一種分布式系統(tǒng)的負(fù)載均衡方法、裝置、設(shè)備和存儲(chǔ)介質(zhì)。
背景技術(shù):
1、負(fù)載均衡是分布式系統(tǒng)中的一個(gè)重要機(jī)制,一個(gè)優(yōu)秀的負(fù)載均衡方法可以顯著提升系統(tǒng)的資源利用率,降低成本。
2、目前的負(fù)載均衡方法主要有:基于副本數(shù)量的負(fù)載均衡方法,其將用戶(hù)的各副本均勻地散列到各個(gè)物理機(jī)上;基于每秒查詢(xún)率(queries?per?second,qps)的負(fù)載均衡方法,其從qps高的物理機(jī)上調(diào)度副本到qps低的物理機(jī)上,以達(dá)到各物理機(jī)之間的qps均衡;基于磁盤(pán)空間容量的負(fù)載均衡方法,其從磁盤(pán)空間使用率高的物理機(jī)上調(diào)度副本到磁盤(pán)空間使用率低的物理機(jī)上,以達(dá)到各物理機(jī)之間的磁盤(pán)空間使用率均衡。
3、但是,上述負(fù)載均衡方法均無(wú)法很好地平衡分布式系統(tǒng)中各種資源的利用率,致使分布式系統(tǒng)的整體資源利用率受限,系統(tǒng)成本較高。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述技術(shù)問(wèn)題,本公開(kāi)實(shí)施例提供了一種分布式系統(tǒng)的負(fù)載均衡方法、裝置、設(shè)備和存儲(chǔ)介質(zhì)。
2、第一方面,本公開(kāi)實(shí)施例提供了一種分布式系統(tǒng)的負(fù)載均衡方法,該方法包括:
3、根據(jù)分布式系統(tǒng)中各服務(wù)節(jié)點(diǎn)上承載的各服務(wù)副本在多維度的資源使用指標(biāo),確定各所述服務(wù)節(jié)點(diǎn)的多維度負(fù)載向量;其中,所述多維度負(fù)載向量表征所述服務(wù)節(jié)點(diǎn)在多維度上的資源利用情況;
4、根據(jù)各所述服務(wù)節(jié)點(diǎn)的所述多維度負(fù)載向量和目標(biāo)負(fù)載向量,將各所述服務(wù)節(jié)點(diǎn)劃分至多個(gè)負(fù)載區(qū)間;其中,所述多個(gè)負(fù)載區(qū)間至少包括高負(fù)載區(qū)間和低負(fù)載區(qū)間;
5、根據(jù)所述多個(gè)負(fù)載區(qū)間,確定多個(gè)候選調(diào)度策略和對(duì)應(yīng)的負(fù)載均衡收益;其中,所述候選調(diào)度策略指示將所述高負(fù)載區(qū)間內(nèi)的指定服務(wù)節(jié)點(diǎn)承載的指定服務(wù)副本調(diào)度至所述低負(fù)載區(qū)間內(nèi)的指定服務(wù)節(jié)點(diǎn);
6、從所述多個(gè)候選調(diào)度策略中選擇所述負(fù)載均衡收益最大的候選調(diào)度策略作為目標(biāo)調(diào)度策略并執(zhí)行所述目標(biāo)調(diào)度策略;其中,所述負(fù)載均衡收益最大表征所述服務(wù)節(jié)點(diǎn)在參與所述服務(wù)副本調(diào)度前后的所述多維度負(fù)載向量與所述目標(biāo)負(fù)載向量的距離均減小且距離減小值最大。
7、第二方面,本公開(kāi)實(shí)施例還提供了一種分布式系統(tǒng)的負(fù)載均衡裝置,該裝置包括:
8、多維度負(fù)載向量確定模塊,用于根據(jù)分布式系統(tǒng)中各服務(wù)節(jié)點(diǎn)上承載的各服務(wù)副本在多維度的資源使用指標(biāo),確定各所述服務(wù)節(jié)點(diǎn)的多維度負(fù)載向量;其中,所述多維度負(fù)載向量表征所述服務(wù)節(jié)點(diǎn)在多維度上的資源利用情況;
9、負(fù)載區(qū)間劃分模塊,用于根據(jù)各所述服務(wù)節(jié)點(diǎn)的所述多維度負(fù)載向量和目標(biāo)負(fù)載向量,將各所述服務(wù)節(jié)點(diǎn)劃分至多個(gè)負(fù)載區(qū)間;其中,所述多個(gè)負(fù)載區(qū)間至少包括高負(fù)載區(qū)間和低負(fù)載區(qū)間;
10、候選調(diào)度策略確定模塊,用于根據(jù)所述多個(gè)負(fù)載區(qū)間,確定多個(gè)候選調(diào)度策略和對(duì)應(yīng)的負(fù)載均衡收益;其中,所述候選調(diào)度策略指示將所述高負(fù)載區(qū)間內(nèi)的指定服務(wù)節(jié)點(diǎn)承載的指定服務(wù)副本調(diào)度至所述低負(fù)載區(qū)間內(nèi)的指定服務(wù)節(jié)點(diǎn);
11、目標(biāo)調(diào)度策略執(zhí)行模塊,用于從所述多個(gè)候選調(diào)度策略中選擇所述負(fù)載均衡收益最大的候選調(diào)度策略作為目標(biāo)調(diào)度策略并執(zhí)行所述目標(biāo)調(diào)度策略;其中,所述負(fù)載均衡收益最大表征所述服務(wù)節(jié)點(diǎn)在參與所述服務(wù)副本調(diào)度前后的所述多維度負(fù)載向量與所述目標(biāo)負(fù)載向量的距離均減小且距離減小值最大。
12、第三方面,本公開(kāi)實(shí)施例還提供了一種電子設(shè)備,該電子設(shè)備包括:
13、處理器;
14、存儲(chǔ)器,用于存儲(chǔ)可執(zhí)行指令;
15、其中,處理器用于從存儲(chǔ)器中讀取可執(zhí)行指令,并執(zhí)行可執(zhí)行指令以實(shí)現(xiàn)本公開(kāi)任意實(shí)施例所說(shuō)明的分布式系統(tǒng)的負(fù)載均衡方法。
16、第四方面,本公開(kāi)實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,當(dāng)計(jì)算機(jī)程序被處理器執(zhí)行時(shí),使得處理器實(shí)現(xiàn)本公開(kāi)任意實(shí)施例所說(shuō)明的分布式系統(tǒng)的負(fù)載均衡方法。
17、第五方面,本公開(kāi)實(shí)施例還提供了一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品用于執(zhí)行本公開(kāi)任意實(shí)施例所說(shuō)明的分布式系統(tǒng)的負(fù)載均衡方法。
18、本公開(kāi)實(shí)施例的分布式系統(tǒng)的負(fù)載均衡方法、裝置、設(shè)備和存儲(chǔ)介質(zhì),能夠根據(jù)分布式系統(tǒng)中各服務(wù)節(jié)點(diǎn)上承載的各服務(wù)副本在多維度的資源使用指標(biāo),確定各所述服務(wù)節(jié)點(diǎn)的多維度負(fù)載向量;所述多維度負(fù)載向量表征所述服務(wù)節(jié)點(diǎn)在多維度上的資源利用情況;根據(jù)各所述服務(wù)節(jié)點(diǎn)的所述多維度負(fù)載向量和目標(biāo)負(fù)載向量,將各所述服務(wù)節(jié)點(diǎn)劃分至多個(gè)負(fù)載區(qū)間;根據(jù)所述多個(gè)負(fù)載區(qū)間,確定多個(gè)候選調(diào)度策略和對(duì)應(yīng)的負(fù)載均衡收益;所述候選調(diào)度策略指示將所述高負(fù)載區(qū)間內(nèi)的指定服務(wù)節(jié)點(diǎn)承載的指定服務(wù)副本調(diào)度至所述低負(fù)載區(qū)間內(nèi)的指定服務(wù)節(jié)點(diǎn);從所述多個(gè)候選調(diào)度策略中選擇所述負(fù)載均衡收益最大的候選調(diào)度策略作為目標(biāo)調(diào)度策略并執(zhí)行所述目標(biāo)調(diào)度策略;所述負(fù)載均衡收益最大表征所述服務(wù)節(jié)點(diǎn)在參與所述服務(wù)副本調(diào)度前后的所述多維度負(fù)載向量與所述目標(biāo)負(fù)載向量的距離均減小且距離減小值最大;實(shí)現(xiàn)了從多個(gè)負(fù)載維度上綜合地衡量各服務(wù)節(jié)點(diǎn)的資源利用情況,并據(jù)此進(jìn)行服務(wù)副本的負(fù)載均衡調(diào)度,從而將各負(fù)載維度上具有資源利用率的互動(dòng)特性的服務(wù)副本混合布局在各服務(wù)節(jié)點(diǎn)中,使得各服務(wù)節(jié)點(diǎn)的負(fù)載都分布在均衡的目標(biāo)負(fù)載向量的周邊范圍內(nèi),以同時(shí)均衡分布式系統(tǒng)在各負(fù)載維度上的資源利用率,進(jìn)而顯著提升系統(tǒng)的資源利用率,降低系統(tǒng)成本。
1.一種分布式系統(tǒng)的負(fù)載均衡方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)各所述服務(wù)節(jié)點(diǎn)的所述多維度負(fù)載向量和目標(biāo)負(fù)載向量,將各所述服務(wù)節(jié)點(diǎn)劃分至多個(gè)負(fù)載區(qū)間,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述多個(gè)負(fù)載區(qū)間,確定多個(gè)候選調(diào)度策略和對(duì)應(yīng)的負(fù)載均衡收益,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述高負(fù)載區(qū)間內(nèi)所述服務(wù)節(jié)點(diǎn)承載的所述服務(wù)副本和所述低負(fù)載區(qū)間內(nèi)所述服務(wù)節(jié)點(diǎn),確定多個(gè)初始調(diào)度策略,包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)分布式系統(tǒng)中各服務(wù)節(jié)點(diǎn)上承載的各服務(wù)副本在多維度的資源使用指標(biāo),確定各所述服務(wù)節(jié)點(diǎn)的多維度負(fù)載向量,包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述多維度負(fù)載向量包括衡量所述分布式系統(tǒng)的處理性能的多個(gè)維度上的負(fù)載值;所述多個(gè)維度至少包括吞吐率維度、磁盤(pán)空間使用率維度、磁盤(pán)輸入輸出維度、磁盤(pán)訪(fǎng)問(wèn)頻率維度、cpu使用率維度、內(nèi)存使用率維度、網(wǎng)絡(luò)帶寬使用率維度和平均響應(yīng)時(shí)間維度中的至少兩個(gè)。
7.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述高負(fù)載區(qū)間內(nèi)所述服務(wù)節(jié)點(diǎn)承載的所述服務(wù)副本和所述低負(fù)載區(qū)間內(nèi)所述服務(wù)節(jié)點(diǎn),確定多個(gè)初始調(diào)度策略,包括:
8.一種分布式系統(tǒng)的負(fù)載均衡裝置,其特征在于,包括:
9.一種電子設(shè)備,其特征在于,包括:
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,當(dāng)所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí),使得處理器實(shí)現(xiàn)上述權(quán)利要求1-7中任一項(xiàng)所述的分布式系統(tǒng)的負(fù)載均衡方法。