本發(fā)明實(shí)施例涉及計(jì)算機(jī),尤其涉及一種微服務(wù)調(diào)用方法、裝置、數(shù)據(jù)處理器、電子設(shè)備及介質(zhì)。
背景技術(shù):
1、在分布式微服務(wù)網(wǎng)絡(luò)(service?mesh)部署中,為了提升主機(jī)(host)的算力,通常將邊車(sidecar)模塊從host卸載到數(shù)據(jù)處理器(data?processing?unit,dpu)上,尤其是卸載到dpu中內(nèi)嵌的中央處理器(central?processing?unit,cpu)上,從而可借助于cpu處理復(fù)雜的業(yè)務(wù)邏輯。
2、由于內(nèi)嵌cpu的處理能力有限,在host發(fā)往dpu中的sidecar模塊的業(yè)務(wù)流量到達(dá)一定量級(jí)后,這會(huì)導(dǎo)致cpu的占用率沖高,從而使得cpu無(wú)法再承擔(dān)host發(fā)來(lái)的業(yè)務(wù)流量,進(jìn)而限制了host的處理能力。
3、為了充分發(fā)揮host的處理能力,目前主要通過(guò)服務(wù)器擴(kuò)容,即dpu擴(kuò)容的方式,提升dpu的處理能力,由此保證host的處理能力。但是,這一方案給微服務(wù)網(wǎng)絡(luò)提供商在服務(wù)器成本方面帶來(lái)了弊端,亟待解決。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明實(shí)施例提供了一種微服務(wù)調(diào)用方法、裝置、數(shù)據(jù)處理器、電子設(shè)備及介質(zhì),以在無(wú)需增加服務(wù)器成本的情況下,提升dpu的處理能力。
2、根據(jù)本發(fā)明的一方面,提供了一種微服務(wù)調(diào)用方法,應(yīng)用于第一數(shù)據(jù)處理器,第一數(shù)據(jù)處理器包括第一網(wǎng)絡(luò)加速引擎,該方法包括:
3、通過(guò)第一網(wǎng)絡(luò)加速引擎,執(zhí)行下述步驟:
4、接收運(yùn)行于第一主機(jī)中的應(yīng)用程序發(fā)送的微服務(wù)調(diào)用報(bào)文,通過(guò)對(duì)微服務(wù)調(diào)用報(bào)文進(jìn)行分析,得到應(yīng)用程序需調(diào)用的微服務(wù)對(duì)應(yīng)的路由地址;
5、在預(yù)先構(gòu)建完成的至少一個(gè)第一路由加速條目中,存在與應(yīng)用程序和微服務(wù)對(duì)應(yīng)的路由地址匹配的第一目標(biāo)加速條目的情況下,根據(jù)第一目標(biāo)加速條目,確定第二數(shù)據(jù)處理器,其中,第二數(shù)據(jù)處理器對(duì)應(yīng)的第二主機(jī)中部署有微服務(wù),第二數(shù)據(jù)處理器包括第二網(wǎng)絡(luò)加速引擎;
6、將微服務(wù)調(diào)用報(bào)文轉(zhuǎn)發(fā)給第二數(shù)據(jù)處理器,以通過(guò)第二數(shù)據(jù)處理器,經(jīng)由第二網(wǎng)絡(luò)加速引擎,將微服務(wù)調(diào)用報(bào)文轉(zhuǎn)發(fā)給第二主機(jī),以使第二主機(jī),基于微服務(wù)調(diào)用報(bào)文,執(zhí)行微服務(wù),并將得到的執(zhí)行結(jié)果返回給應(yīng)用程序。
7、根據(jù)本發(fā)明的另一方面,提供了一種微服務(wù)調(diào)用方法,應(yīng)用于第二數(shù)據(jù)處理器,第二數(shù)據(jù)處理器包括第二網(wǎng)絡(luò)加速引擎,該方法包括:
8、通過(guò)第二網(wǎng)絡(luò)加速引擎,執(zhí)行下述步驟:
9、接收第一數(shù)據(jù)處理器轉(zhuǎn)發(fā)的微服務(wù)調(diào)用報(bào)文,其中,第一數(shù)據(jù)處理器與第一主機(jī)對(duì)應(yīng),第一主機(jī)中運(yùn)行有應(yīng)用程序,微服務(wù)調(diào)用報(bào)文至少表征與應(yīng)用程序需調(diào)用的微服務(wù)對(duì)應(yīng)的路由地址,微服務(wù)部署在第二數(shù)據(jù)處理器對(duì)應(yīng)的第二主機(jī)中;
10、在預(yù)先構(gòu)建完成的至少一個(gè)第二路由加速條目中,存在與應(yīng)用程序和微服務(wù)對(duì)應(yīng)的路由地址匹配的第二目標(biāo)加速條目的情況下,將微服務(wù)調(diào)用報(bào)文轉(zhuǎn)發(fā)給第二主機(jī),以使第二主機(jī),基于微服務(wù)調(diào)用報(bào)文,執(zhí)行微服務(wù),并將得到的執(zhí)行結(jié)果返回給應(yīng)用程序。
11、根據(jù)本發(fā)明的另一方面,提供了一種微服務(wù)調(diào)用裝置,配置于第一數(shù)據(jù)處理器,第一數(shù)據(jù)處理器包括第一網(wǎng)絡(luò)加速引擎,該裝置包括:
12、路由地址得到模塊,用于通過(guò)第一網(wǎng)絡(luò)加速引擎,接收到運(yùn)行于第一主機(jī)中的應(yīng)用程序發(fā)送的微服務(wù)調(diào)用報(bào)文,通過(guò)對(duì)微服務(wù)調(diào)用報(bào)文進(jìn)行分析,得到應(yīng)用程序需調(diào)用的微服務(wù)對(duì)應(yīng)的路由地址:
13、第二數(shù)據(jù)處理器確定模塊,用于通過(guò)第一網(wǎng)絡(luò)加速引擎,在預(yù)先構(gòu)建完成的至少一個(gè)第一路由加速條目中,存在與應(yīng)用程序和微服務(wù)對(duì)應(yīng)的路由地址匹配的第一目標(biāo)加速條目的情況下,根據(jù)第一目標(biāo)加速條目,確定第二數(shù)據(jù)處理器,其中,與第二數(shù)據(jù)處理器對(duì)應(yīng)的第二主機(jī)中部署有微服務(wù),第二數(shù)據(jù)處理器包括第二網(wǎng)絡(luò)加速引擎;
14、微服務(wù)調(diào)用報(bào)文第一轉(zhuǎn)發(fā)模塊,用于通過(guò)第一網(wǎng)絡(luò)加速引擎,將微服務(wù)調(diào)用報(bào)文轉(zhuǎn)發(fā)給第二數(shù)據(jù)處理器,以通過(guò)第二數(shù)據(jù)處理器,經(jīng)由第二網(wǎng)絡(luò)加速引擎,將微服務(wù)調(diào)用報(bào)文轉(zhuǎn)發(fā)給第二主機(jī),以使第二主機(jī),基于微服務(wù)調(diào)用報(bào)文,執(zhí)行微服務(wù),并將得到的執(zhí)行結(jié)果返回給應(yīng)用程序。
15、根據(jù)本發(fā)明的另一方面,提供了一種微服務(wù)調(diào)用裝置,配置于第二數(shù)據(jù)處理器,第二數(shù)據(jù)處理器包括第二網(wǎng)絡(luò)加速引擎,該裝置包括:
16、微服務(wù)調(diào)用報(bào)文接收模塊,用于通過(guò)第二網(wǎng)絡(luò)加速引擎,接收第一數(shù)據(jù)處理器轉(zhuǎn)發(fā)的微服務(wù)調(diào)用報(bào)文,其中,第一數(shù)據(jù)處理器與第一主機(jī)對(duì)應(yīng),第一主機(jī)中運(yùn)行有應(yīng)用程序,微服務(wù)調(diào)用報(bào)文至少表征出與應(yīng)用程序需調(diào)用的微服務(wù)對(duì)應(yīng)的路由地址,微服務(wù)部署在第二數(shù)據(jù)處理器對(duì)應(yīng)的第二主機(jī)中:
17、微服務(wù)調(diào)用報(bào)文第二轉(zhuǎn)發(fā)模塊,用于通過(guò)第二網(wǎng)絡(luò)加速引擎,在預(yù)先構(gòu)建出的至少一個(gè)第二路由加速條目中,存在與應(yīng)用程序和微服務(wù)對(duì)應(yīng)的路由地址匹配的第二目標(biāo)加速條目的情況下,將微服務(wù)調(diào)用報(bào)文轉(zhuǎn)發(fā)給第二主機(jī),以使第二主機(jī),基于微服務(wù)調(diào)用報(bào)文,執(zhí)行微服務(wù),將得到的執(zhí)行結(jié)果返回給應(yīng)用程序。
18、根據(jù)本發(fā)明的另一方面,提供了一種第一數(shù)據(jù)處理器,可以包括:
19、至少一個(gè)處理器;以及
20、與至少一個(gè)處理器通信連接的存儲(chǔ)器;其中,
21、存儲(chǔ)器存儲(chǔ)有可被至少一個(gè)處理器執(zhí)行的計(jì)算機(jī)程序,計(jì)算機(jī)程序被至少一個(gè)處理器執(zhí)行,以使至少一個(gè)處理器執(zhí)行時(shí)實(shí)現(xiàn)本發(fā)明任意實(shí)施例所提供的微服務(wù)調(diào)用方法。
22、根據(jù)本發(fā)明的另一方面,提供了一種第二數(shù)據(jù)處理器,可以包括:
23、至少一個(gè)處理器;以及
24、與至少一個(gè)處理器通信連接的存儲(chǔ)器;其中,
25、存儲(chǔ)器存儲(chǔ)有可被至少一個(gè)處理器執(zhí)行的計(jì)算機(jī)程序,計(jì)算機(jī)程序被至少一個(gè)處理器執(zhí)行,以使至少一個(gè)處理器執(zhí)行時(shí)實(shí)現(xiàn)本發(fā)明任意實(shí)施例所提供的微服務(wù)調(diào)用方法。
26、根據(jù)本發(fā)明的另一方面,提供了一種電子設(shè)備,配置有本發(fā)明任意實(shí)施例所提供的第一數(shù)據(jù)處理器或是第二數(shù)據(jù)處理器。
27、根據(jù)本發(fā)明的另一方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)指令,該計(jì)算機(jī)指令用于使處理器執(zhí)行時(shí)實(shí)現(xiàn)本發(fā)明任意實(shí)施例所提供的微服務(wù)調(diào)用方法。
28、本發(fā)明實(shí)施例中的技術(shù)方案,通過(guò)第一dpu中的第一網(wǎng)絡(luò)加速引擎,接收運(yùn)行于第一host中的app發(fā)送的微服務(wù)調(diào)用報(bào)文,并通過(guò)對(duì)微服務(wù)調(diào)用報(bào)文進(jìn)行分析,得到app需調(diào)用的service對(duì)應(yīng)的路由地址;然后,在預(yù)先構(gòu)建出的至少一個(gè)第一路由加速條目中,存在與app和service對(duì)應(yīng)的路由地址匹配的第一目標(biāo)加速條目的情況下,說(shuō)明此時(shí)可基于加速方式實(shí)現(xiàn)這一微服務(wù)調(diào)用過(guò)程,因此根據(jù)第一目標(biāo)加速條目,確定與部署有service的第二host對(duì)應(yīng)的第二dpu;再然后,將微服務(wù)調(diào)用報(bào)文轉(zhuǎn)發(fā)給第二dpu,以通過(guò)第二dpu,經(jīng)由第二dpu中的第二網(wǎng)絡(luò)加速引擎,將微服務(wù)調(diào)用報(bào)文轉(zhuǎn)發(fā)給第二host,以使第二host,基于微服務(wù)調(diào)用報(bào)文執(zhí)行service,并將得到的執(zhí)行結(jié)果返回給app,由此完成了app針對(duì)service的調(diào)用過(guò)程。上述技術(shù)方案,通過(guò)預(yù)先構(gòu)建第一路由加速條目,從而在微服務(wù)調(diào)用過(guò)程中,可利用第一路由加速條目,由第一網(wǎng)絡(luò)加速引擎直接將微服務(wù)調(diào)用報(bào)文轉(zhuǎn)發(fā)給第二host,這時(shí)無(wú)需交由第一sidecar模塊處理微服務(wù)調(diào)用報(bào)文以轉(zhuǎn)發(fā),由此在無(wú)需增加服務(wù)器成本的情況下,顯著降低了第一sidecar模塊的處理開銷,進(jìn)而提升了第一dpu對(duì)微服務(wù)調(diào)用報(bào)文的處理能力,保證了第二host針對(duì)service調(diào)用的處理能力。
29、應(yīng)當(dāng)理解,本部分所描述的內(nèi)容并非旨在標(biāo)識(shí)本發(fā)明的實(shí)施例的關(guān)鍵或是重要特征,也不用于限制本發(fā)明的范圍。本發(fā)明的其它特征將通過(guò)以下的說(shuō)明書而變得容易理解。