本技術(shù)涉及api網(wǎng)關(guān),尤其涉及微服務(wù)實例路由方法、api網(wǎng)關(guān)及計算服務(wù)設(shè)備。
背景技術(shù):
1、隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,微服務(wù)架構(gòu)已成為構(gòu)建大型分布式系統(tǒng)的重要模式之一。它通過將應(yīng)用程序分解為一系列獨立的小型服務(wù)(也即微服務(wù)),實現(xiàn)了更高的模塊化、可維護(hù)性和可擴(kuò)展性。然而,隨著服務(wù)數(shù)量的增長和用戶需求的多樣化,如何有效地管理和路由這些微服務(wù)成為了新的挑戰(zhàn)。api(application?programming?interface,應(yīng)用程序編程接口)網(wǎng)關(guān)作為微服務(wù)架構(gòu)中的關(guān)鍵組件,負(fù)責(zé)接收外部請求并將其轉(zhuǎn)發(fā)給正確的微服務(wù)實例,其路由策略直接影響到整個系統(tǒng)的性能和用戶體驗。
2、目前,大多數(shù)api網(wǎng)關(guān)采用負(fù)載均衡的方式,從同一微服務(wù)下的多個微服務(wù)實例中選取實例來處理請求。常見的負(fù)載均衡算法包括輪詢、最少連接數(shù)、加權(quán)輪詢等。這些方法雖然能夠在一定程度上保證流量的均勻分布,但忽略了客戶端入站請求的具體特征和技術(shù)條件,導(dǎo)致路由決策不夠靈活和精準(zhǔn)。
技術(shù)實現(xiàn)思路
1、本技術(shù)的主要目的在于提供一種微服務(wù)實例路由方法、api網(wǎng)關(guān)及計算服務(wù)設(shè)備,旨在解決相關(guān)技術(shù)中api網(wǎng)關(guān)的路由決策不夠靈活和精準(zhǔn)的技術(shù)問題。
2、為實現(xiàn)上述目的,本技術(shù)提供一種微服務(wù)實例路由方法,所述方法應(yīng)用于api網(wǎng)關(guān),包括:
3、在接收到客戶端發(fā)送的入站請求后,從所述入站請求中提取出目標(biāo)微服務(wù)實例匹配信息,并確定所述入站請求對應(yīng)的目標(biāo)微服務(wù),其中,所述目標(biāo)微服務(wù)實例匹配信息包括所述入站請求對應(yīng)的內(nèi)容類型、接收內(nèi)容類型、客戶端類型和網(wǎng)絡(luò)連接類型中的至少一種;
4、基于所述目標(biāo)微服務(wù)實例匹配信息,從所述目標(biāo)微服務(wù)下的多個微服務(wù)實例中,匹配出所述入站請求對應(yīng)的目標(biāo)微服務(wù)實例;
5、獲取所述目標(biāo)微服務(wù)實例對應(yīng)的網(wǎng)絡(luò)地址,并基于所述網(wǎng)絡(luò)地址將所述入站請求路由至所述目標(biāo)微服務(wù)實例。
6、在一實施例中,所述基于所述目標(biāo)微服務(wù)實例匹配信息,從所述目標(biāo)微服務(wù)下的多個微服務(wù)實例中,匹配出所述入站請求對應(yīng)的目標(biāo)微服務(wù)實例的步驟,包括:
7、獲取預(yù)先分別為所述目標(biāo)微服務(wù)下各微服務(wù)實例設(shè)置的微服務(wù)實例匹配條件,并將所述目標(biāo)微服務(wù)實例匹配信息與各微服務(wù)實例對應(yīng)的微服務(wù)實例匹配條件進(jìn)行比較,得到各微服務(wù)實例對應(yīng)的比較結(jié)果;
8、根據(jù)各微服務(wù)實例對應(yīng)的比較結(jié)果,從各微服務(wù)實例中確定出所述入站請求對應(yīng)的目標(biāo)微服務(wù)實例。
9、在一實施例中,所述根據(jù)各微服務(wù)實例對應(yīng)的比較結(jié)果,從各微服務(wù)實例中確定出所述入站請求對應(yīng)的目標(biāo)微服務(wù)實例的步驟,包括:
10、根據(jù)各微服務(wù)實例對應(yīng)的比較結(jié)果,將各微服務(wù)實例中微服務(wù)實例匹配條件被所述目標(biāo)微服務(wù)實例匹配信息滿足的微服務(wù)實例,作為備選微服務(wù)實例;
11、在所述備選微服務(wù)實例的數(shù)量為一的情況下,將所述備選微服務(wù)實例確定為所述入站請求對應(yīng)的目標(biāo)微服務(wù)實例。
12、在一實施例中,所述根據(jù)各微服務(wù)實例對應(yīng)的比較結(jié)果,將各微服務(wù)實例中微服務(wù)實例匹配條件被所述目標(biāo)微服務(wù)實例匹配信息滿足的微服務(wù)實例,作為備選微服務(wù)實例的步驟之后,還包括:
13、在所述備選微服務(wù)實例的數(shù)量大于一的情況下,基于預(yù)設(shè)的微服務(wù)實例選取策略,從各備選微服務(wù)實例中確定出所述入站請求對應(yīng)的目標(biāo)微服務(wù)實例。
14、在一實施例中,預(yù)設(shè)的微服務(wù)實例選取策略為:優(yōu)先選取連接數(shù)更小的備選微服務(wù)實例;
15、所述基于預(yù)設(shè)的微服務(wù)實例選取策略,從各備選微服務(wù)實例中確定出所述入站請求對應(yīng)的目標(biāo)微服務(wù)實例的步驟,包括:
16、獲取各備選微服務(wù)實例的連接數(shù)和連接數(shù)閾值,并從各備選微服務(wù)實例中將連接數(shù)小于連接數(shù)閾值的備選微服務(wù)實例作為待選微服務(wù)實例;
17、從所述待選微服務(wù)實例中,將連接數(shù)最小的微服務(wù)實例確定為所述入站請求對應(yīng)的目標(biāo)微服務(wù)實例。
18、在一實施例中,預(yù)設(shè)的微服務(wù)實例選取策略為:優(yōu)先選取優(yōu)先級更高的備選微服務(wù)實例;
19、所述基于預(yù)設(shè)的微服務(wù)實例選取策略,從各備選微服務(wù)實例中確定出所述入站請求對應(yīng)的目標(biāo)微服務(wù)實例的步驟,包括:
20、獲取各備選微服務(wù)實例的優(yōu)先級,并從各備選微服務(wù)實例中將優(yōu)先級最高的備選微服務(wù)實例作為待選微服務(wù)實例;
21、從所述待選微服務(wù)實例中,隨機(jī)選取一個微服務(wù)實例作為所述入站請求對應(yīng)的目標(biāo)微服務(wù)實例。
22、在一實施例中,預(yù)設(shè)的微服務(wù)實例選取策略為:優(yōu)先選取cpu負(fù)載更低的備選微服務(wù)實例;
23、所述基于預(yù)設(shè)的微服務(wù)實例選取策略,從各備選微服務(wù)實例中確定出所述入站請求對應(yīng)的目標(biāo)微服務(wù)實例的步驟,包括:
24、獲取各備選微服務(wù)實例的cpu負(fù)載,并從各備選微服務(wù)實例中將cpu負(fù)載最低的備選微服務(wù)實例作為待選微服務(wù)實例;
25、從所述待選微服務(wù)實例中,隨機(jī)選取一個微服務(wù)實例作為所述入站請求對應(yīng)的目標(biāo)微服務(wù)實例。
26、在一實施例中,所述目標(biāo)微服務(wù)實例匹配信息還包括所述入站請求對應(yīng)的ip地址、用戶身份、查詢參數(shù)、請求方法、時間戳、設(shè)備信息、路徑模式中的至少一種。
27、此外,為實現(xiàn)上述目的,本技術(shù)還提供一種api網(wǎng)關(guān),所述api網(wǎng)關(guān)包括:
28、接收模塊,用于在接收到客戶端發(fā)送的入站請求后,從所述入站請求中提取出目標(biāo)微服務(wù)實例匹配信息,并確定所述入站請求對應(yīng)的目標(biāo)微服務(wù),其中,所述目標(biāo)微服務(wù)實例匹配信息包括所述入站請求對應(yīng)的內(nèi)容類型、接收內(nèi)容類型、客戶端類型和網(wǎng)絡(luò)連接類型中的至少一種;
29、匹配模塊,用于基于所述目標(biāo)微服務(wù)實例匹配信息,從所述目標(biāo)微服務(wù)下的多個微服務(wù)實例中,匹配出所述入站請求對應(yīng)的目標(biāo)微服務(wù)實例;
30、路由模塊,用于獲取所述目標(biāo)微服務(wù)實例對應(yīng)的網(wǎng)絡(luò)地址,并基于所述網(wǎng)絡(luò)地址將所述入站請求路由至所述目標(biāo)微服務(wù)實例。
31、此外,為實現(xiàn)上述目的,本技術(shù)還提供一種計算服務(wù)設(shè)備,所述計算服務(wù)設(shè)備包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機(jī)程序,所述計算機(jī)程序被所述處理器執(zhí)行時實現(xiàn)如上述的微服務(wù)實例路由方法的步驟。
32、本技術(shù)提供一種微服務(wù)實例路由方法、api網(wǎng)關(guān)及計算服務(wù)設(shè)備,涉及api網(wǎng)關(guān)技術(shù)領(lǐng)域。該方法應(yīng)用于api網(wǎng)關(guān),包括:在接收到客戶端發(fā)送的入站請求后,從入站請求中提取出目標(biāo)微服務(wù)實例匹配信息,并確定入站請求對應(yīng)的目標(biāo)微服務(wù),其中,目標(biāo)微服務(wù)實例匹配信息包括入站請求對應(yīng)的內(nèi)容類型、接收內(nèi)容類型、客戶端類型和網(wǎng)絡(luò)連接類型中的至少一種;基于該目標(biāo)微服務(wù)實例匹配信息,從目標(biāo)微服務(wù)下的多個微服務(wù)實例中,匹配出入站請求對應(yīng)的目標(biāo)微服務(wù)實例;獲取該目標(biāo)微服務(wù)實例對應(yīng)的網(wǎng)絡(luò)地址,并基于該網(wǎng)絡(luò)地址將入站請求路由至該目標(biāo)微服務(wù)實例。
33、與傳統(tǒng)的基于負(fù)載均衡算法的路由方式相比,本技術(shù)綜合考慮多種因素(如內(nèi)容類型、接收內(nèi)容類型、客戶端類型和網(wǎng)絡(luò)連接類型)作為微服務(wù)實例路由決策的依據(jù),通過多維度匹配信息對入站請求進(jìn)行細(xì)粒度的分析和匹配,從而提高了api網(wǎng)關(guān)路由決策的靈活性和精準(zhǔn)度,實現(xiàn)了精準(zhǔn)的微服務(wù)實例路由,使得api網(wǎng)關(guān)不僅能夠更智能地選擇最適合處理請求的具體微服務(wù)實例,還能顯著提升系統(tǒng)的性能、可靠性和用戶體驗,進(jìn)而動態(tài)適應(yīng)不同的應(yīng)用場景,提供更加個性化和優(yōu)化的服務(wù),并優(yōu)化流量分配,提高資源利用率和服務(wù)響應(yīng)速度,確保不同類型的客戶端在各種網(wǎng)絡(luò)條件下都能獲得最佳的服務(wù)體驗。