本技術(shù)涉及網(wǎng)絡(luò)架構(gòu),尤其涉及一種基于服務(wù)網(wǎng)格通訊的系統(tǒng)及網(wǎng)關(guān)流量處理方法。
背景技術(shù):
1、微服務(wù)架構(gòu)是一種將應(yīng)用程序作為一套小服務(wù)開發(fā)的方法,每個服務(wù)運行在其獨立的進程中,并且通常圍繞業(yè)務(wù)能力進行組織。這些服務(wù)可以獨立地進行部署、擴展和更新。
2、api網(wǎng)關(guān)是一個服務(wù)器,是系統(tǒng)的唯一入口點。從客戶端到后端服務(wù)的所有請求都會經(jīng)過這個網(wǎng)關(guān)。api網(wǎng)關(guān)可以處理多種職責,包括但不限于:認證與授權(quán):確保只有合法的請求能夠訪問后端服務(wù);請求路由:將請求轉(zhuǎn)發(fā)到正確的服務(wù);限流與熔斷:控制流量,防止服務(wù)過載;緩存:提高響應(yīng)速度,減少對后端服務(wù)的請求;協(xié)議轉(zhuǎn)換:允許客戶端使用不同的通信協(xié)議與服務(wù)交互。
3、隨著微服務(wù)架構(gòu)的發(fā)展,api網(wǎng)關(guān)應(yīng)用已經(jīng)越來越普及,api網(wǎng)關(guān)作為整個系統(tǒng)的統(tǒng)一流量入口,封裝系統(tǒng)的內(nèi)部細節(jié),為接入方提供api門戶,在設(shè)計態(tài)聲明接口的定義,同時也承擔運行態(tài)的接口調(diào)用治理職能,可以為應(yīng)用提供統(tǒng)一的健康檢查、采集上報、鏈路追蹤、服務(wù)發(fā)現(xiàn)、負載均衡、參數(shù)路由、灰度發(fā)布、流量鏡像、限流熔斷、安全加密、協(xié)議轉(zhuǎn)換、緩存等功能。
4、與此同時,容器化和服務(wù)網(wǎng)格也成為云原生微服務(wù)架構(gòu)的已然趨勢。容器化是將應(yīng)用程序及其依賴項打包到一個輕量級、可移植的容器中,使得應(yīng)用程序可以在任何支持容器的平臺上運行。服務(wù)網(wǎng)格是一個專門用于處理服務(wù)間通信的基礎(chǔ)設(shè)施層。它提供了一種與業(yè)務(wù)邏輯分離的方式來管理服務(wù)間的交互。
5、通過服務(wù)網(wǎng)格實現(xiàn)技術(shù)邏輯與業(yè)務(wù)邏輯剝離,為業(yè)務(wù)開發(fā)解決技術(shù)框架的侵入性痛點,云原生基座和服務(wù)網(wǎng)格做為技術(shù)底座同樣也能提供統(tǒng)一的健康檢查、采集上報、鏈路追蹤、服務(wù)發(fā)現(xiàn)、負載均衡、參數(shù)路由、灰度發(fā)布、流量鏡像、限流熔斷、安全加密、協(xié)議轉(zhuǎn)換、緩存等能力。
6、網(wǎng)關(guān)應(yīng)用上容器之后,容器云基座本身又有自己的流量網(wǎng)關(guān),而且服務(wù)網(wǎng)格也有網(wǎng)關(guān)組件,那么重合的職能,例如請求路由、限流熔斷、協(xié)議轉(zhuǎn)換等到底應(yīng)該在哪個組件上維護和實施,各個組件在整體架構(gòu)中的如何定位,是本領(lǐng)域技術(shù)人員急需解決的技術(shù)問題。
技術(shù)實現(xiàn)思路
1、本技術(shù)提供了一種基于服務(wù)網(wǎng)格通訊的系統(tǒng)及網(wǎng)關(guān)流量處理方法,解決了網(wǎng)關(guān)應(yīng)用上容器后,由于容器云基座擁有自己的流量網(wǎng)關(guān),服務(wù)網(wǎng)格同樣擁有網(wǎng)關(guān)組件,難以分辨實施和維護請求路由、限流熔斷、協(xié)議轉(zhuǎn)換的重合職能的組件的技術(shù)問題。
2、有鑒于此,本技術(shù)第一方面提供了一種基于服務(wù)網(wǎng)格通訊的系統(tǒng),所述系統(tǒng)包括:
3、api網(wǎng)關(guān)、服務(wù)網(wǎng)格的網(wǎng)關(guān)組件以及若干個業(yè)務(wù)系統(tǒng),所述業(yè)務(wù)系統(tǒng)中包含一個或一個以上微服務(wù);
4、所述api網(wǎng)關(guān)用于獲取前端web交易請求,并對所述前端web交易請求的流量代理至服務(wù)網(wǎng)格的網(wǎng)關(guān)組件;
5、所述服務(wù)網(wǎng)格的網(wǎng)關(guān)組件用于將所述前端web交易請求路由至對應(yīng)的所述業(yè)務(wù)系統(tǒng)的所述微服務(wù)中。
6、可選地,所述業(yè)務(wù)系統(tǒng)中包含的微服務(wù)用于將第一服務(wù)請求直接路由訪問至所述業(yè)務(wù)系統(tǒng)中包含的另一個微服務(wù)中。
7、可選地,還包括:
8、所述api網(wǎng)關(guān)還用于進行兩個或兩個以上所述業(yè)務(wù)系統(tǒng)中分別包含的所述微服務(wù)之間的第二服務(wù)請求的路由訪問。
9、可選地,還包括:
10、領(lǐng)域網(wǎng)關(guān),所述領(lǐng)域網(wǎng)關(guān)設(shè)置于所述api網(wǎng)關(guān)內(nèi);
11、所述領(lǐng)域網(wǎng)關(guān)用于進行兩個或兩個以上所述業(yè)務(wù)系統(tǒng)中分別包含的所述微服務(wù)之間的第二服務(wù)請求的路由訪問。
12、可選地,所述api網(wǎng)關(guān)采用邊車模式,用于對所述前端web交易請求的流量進行實施與維護。
13、可選地,所述服務(wù)網(wǎng)格的網(wǎng)關(guān)組件采用邊車模式,用于對路由至所述業(yè)務(wù)系統(tǒng)的微服務(wù)的所述前端web交易請求的流量進行實施與維護。
14、可選地,所述服務(wù)網(wǎng)格的網(wǎng)關(guān)組件采用邊車模式,用于對所述第一服務(wù)請求的流量進行實施和維護。
15、可選地,所述api網(wǎng)關(guān)還用于對所述第二服務(wù)請求的流量進行實施與維護。
16、可選地,所述領(lǐng)域網(wǎng)關(guān)還用于對所述第二服務(wù)請求的流量進行實施與維護。
17、本技術(shù)第二方面提供一種基于服務(wù)網(wǎng)格通訊的網(wǎng)關(guān)流量處理方法,應(yīng)用于本技術(shù)第一方面任意一項所述的基于服務(wù)網(wǎng)格通訊的系統(tǒng),所述方法包括:
18、步驟s1、api網(wǎng)關(guān)獲取前端web交易請求,并對所述前端web交易請求的流量代理至服務(wù)網(wǎng)格的網(wǎng)關(guān)組件;
19、步驟s2、所述服務(wù)網(wǎng)格的網(wǎng)關(guān)組件將所述前端web交易請求路由至對應(yīng)的業(yè)務(wù)系統(tǒng)的微服務(wù)中。
20、可選地,還包括:
21、一個所述業(yè)務(wù)系統(tǒng)中包含的兩個或兩個以上所述微服務(wù)之間的第一服務(wù)請求,由所述微服務(wù)之間直接進行路由訪問。
22、可選地,還包括:
23、所述api網(wǎng)關(guān)將兩個或兩個以上所述業(yè)務(wù)系統(tǒng)中分別包含的所述微服務(wù)之間的第二服務(wù)請求進行路由訪問。
24、可選地,還包括:
25、領(lǐng)域網(wǎng)關(guān),所述領(lǐng)域網(wǎng)關(guān)設(shè)置于所述api網(wǎng)關(guān)內(nèi);
26、所述領(lǐng)域網(wǎng)關(guān)用于將兩個或兩個以上所述業(yè)務(wù)系統(tǒng)中分別包含的所述微服務(wù)之間的第二服務(wù)請求進行路由訪問。
27、可選地,所述api網(wǎng)關(guān)采用邊車模式,用于對所述前端web交易請求的流量進行實施與維護。
28、可選地,所述服務(wù)網(wǎng)格的網(wǎng)關(guān)組件采用邊車模式,用于對路由至所述業(yè)務(wù)系統(tǒng)的微服務(wù)的所述前端web交易請求的流量進行實施與維護。
29、可選地,所述服務(wù)網(wǎng)格的網(wǎng)關(guān)組件采用邊車模式,用于對所述第一服務(wù)請求的流量進行實施和維護。
30、可選地,所述api網(wǎng)關(guān)還用于對所述第二服務(wù)請求的流量進行實施與維護。
31、可選地,所述領(lǐng)域網(wǎng)關(guān)還用于對所述第二服務(wù)請求的流量進行實施與維護。
32、本技術(shù)第三方面提供一種api網(wǎng)關(guān),應(yīng)用于本技術(shù)第一方面任意一項所述的基于服務(wù)網(wǎng)格通訊的系統(tǒng),所述api網(wǎng)關(guān)具體用于獲取前端web交易請求,并對所述前端web交易請求的流量代理至服務(wù)網(wǎng)格的網(wǎng)關(guān)組件。
33、可選地,所述api網(wǎng)關(guān)還用于將兩個或兩個以上所述業(yè)務(wù)系統(tǒng)中分別包含的微服務(wù)之間的第二服務(wù)請求進行路由訪問。
34、可選地,所述api網(wǎng)關(guān)采用邊車模式,用于對所述前端web交易請求的流量進行實施與維護。
35、可選地,所述api網(wǎng)關(guān)還用于對所述第二服務(wù)請求的流量進行實施與維護。
36、本技術(shù)第四方面提供一種服務(wù)網(wǎng)格的網(wǎng)關(guān)組件,應(yīng)用于本技術(shù)第一方面任意一項所述的基于服務(wù)網(wǎng)格通訊的系統(tǒng),所述服務(wù)網(wǎng)格的網(wǎng)關(guān)組件具體用于將api網(wǎng)關(guān)代理的前端web交易請求的流量路由至對應(yīng)的業(yè)務(wù)系統(tǒng)的微服務(wù)中。
37、可選地,所述服務(wù)網(wǎng)格的網(wǎng)關(guān)組件采用邊車模式,用于對路由至所述業(yè)務(wù)系統(tǒng)的微服務(wù)的所述前端web交易請求的流量進行實施與維護。
38、本技術(shù)第五方面提供一種基于服務(wù)網(wǎng)格通訊的網(wǎng)關(guān)流量處理設(shè)備,所述設(shè)備包括處理器以及存儲器:
39、所述存儲器用于存儲程序代碼,并將所述程序代碼傳輸給所述處理器;
40、所述處理器用于根據(jù)所述程序代碼中的指令,執(zhí)行如上述第二方面所述的基于服務(wù)網(wǎng)格通訊的網(wǎng)關(guān)流量處理方法的步驟。
41、本技術(shù)第六方面提供一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)用于存儲程序代碼,所述程序代碼用于執(zhí)行上述第二方面所述的基于服務(wù)網(wǎng)格通訊的網(wǎng)關(guān)流量處理方法。
42、從以上技術(shù)方案可以看出,本技術(shù)實施例具有以下優(yōu)點:
43、本技術(shù)中,提供了一種基于服務(wù)網(wǎng)格通訊的系統(tǒng)及網(wǎng)關(guān)流量處理方法,通過明確api網(wǎng)關(guān)以及服務(wù)網(wǎng)格的網(wǎng)關(guān)組件分別處理的流量,其中api網(wǎng)關(guān)用于將前端web交易請求的流量代理至服務(wù)網(wǎng)格的網(wǎng)關(guān)組件,再由服務(wù)網(wǎng)格的網(wǎng)關(guān)組件將前端web交易請求路由至對應(yīng)業(yè)務(wù)系統(tǒng)的微服務(wù)中,從而規(guī)范流量走向與治理實施的場景,通過服務(wù)網(wǎng)格實現(xiàn)技術(shù)邏輯與業(yè)務(wù)邏輯的剝離,為業(yè)務(wù)開發(fā)解決技術(shù)框架的侵入性痛點得到同時,明確重合能力的精確落位,解決了網(wǎng)關(guān)應(yīng)用上容器后,由于容器云基座擁有自己的流量網(wǎng)關(guān),服務(wù)網(wǎng)格同樣擁有網(wǎng)關(guān)組件,難以分辨實施和維護請求路由、限流熔斷、協(xié)議轉(zhuǎn)換的重合職能的組件的技術(shù)問題。