[發(fā)明專利]面向云原生的微服務(wù)自動擴縮容和自動熔斷方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 202011300768.2 | 申請日: | 2020-11-19 |
| 公開(公告)號: | CN112463366B | 公開(公告)日: | 2022-12-06 |
| 發(fā)明(設(shè)計)人: | 林許亞倫;戚正偉;鄭宇宸;任銳 | 申請(專利權(quán))人: | 上海交通大學 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;H04L47/125 |
| 代理公司: | 上海恒慧知識產(chǎn)權(quán)代理事務(wù)所(特殊普通合伙) 31317 | 代理人: | 張寧展 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 面向 原生 微服 自動 擴縮容 熔斷 方法 系統(tǒng) | ||
1.一種面向云原生的微服務(wù)自動擴縮容和自動熔斷方法,其特征在于,包括:
設(shè)置云原生系統(tǒng)中集群內(nèi)部的網(wǎng)關(guān)規(guī)則,接管集群的入口流量;
針對每一個微服務(wù),將所有的服務(wù)副本集合抽象成一個獨立的邏輯概念,其中每一個邏輯概念對應(yīng)一個子網(wǎng)關(guān)服務(wù);流量在進入每一個邏輯概念前,均先通過子網(wǎng)關(guān)服務(wù)進行L7層面的流量轉(zhuǎn)發(fā);
子網(wǎng)關(guān)服務(wù)根據(jù)當前集群的網(wǎng)絡(luò)狀態(tài)和流量狀態(tài),將當前服務(wù)請求發(fā)送至對應(yīng)接口、丟棄后續(xù)服務(wù)請求和/或?qū)Ξ斍胺?wù)請求進行擴縮容處理,并結(jié)合對當前服務(wù)請求的擴縮容處理結(jié)果和所轉(zhuǎn)發(fā)的L7層面流量,實現(xiàn)L7層面的自動熔斷;
還包括如下任意一項或任意多項:
-所述丟棄后續(xù)服務(wù)請求和/或?qū)Ξ斍胺?wù)請求進行擴縮容處理的方法,包括:
對于每一個邏輯概念,子網(wǎng)關(guān)服務(wù)確認所有請求的返回情況,當單位時間內(nèi)某一個服務(wù)副本接口x返回的錯誤率超過MAX_ERROR_RATE時,子網(wǎng)關(guān)服務(wù)發(fā)起一個擴容請求,并在收到擴容成功的申請前,預(yù)更新當前集群的網(wǎng)絡(luò)狀態(tài);
當子網(wǎng)關(guān)服務(wù)接收到擴容成功的申請后,更新當前集群的網(wǎng)絡(luò)狀態(tài),并對該服務(wù)副本接口x進行分流,新生成的服務(wù)只服務(wù)于該服務(wù)副本接口x,原服務(wù)副本不再接收該服務(wù)副本接口x的流量,實現(xiàn)接口粒度上的流量隔離;
當子網(wǎng)關(guān)服務(wù)發(fā)現(xiàn)錯誤率超過MAX_ERROR_RATE的服務(wù)副本本身專有于該服務(wù)副本接口x,子網(wǎng)關(guān)服務(wù)同樣會觸發(fā)申請擴容的流程,并更新當前集群的網(wǎng)絡(luò)狀態(tài),該服務(wù)副本接口x采用輪詢的方式,將流量發(fā)送給準備用于該服務(wù)副本接口x的服務(wù)副本;
子網(wǎng)關(guān)服務(wù)根據(jù)服務(wù)副本接口x熔斷情況申請擴容,對于只被單獨服務(wù)副本服務(wù)的接口,維護一個當前集群網(wǎng)絡(luò)狀態(tài)動態(tài)更新的最高并發(fā)閾值;
當單位時間內(nèi)并發(fā)請求數(shù)超過閾值時,子網(wǎng)關(guān)服務(wù)將后續(xù)的請求丟棄,以保證先前請求的服務(wù)質(zhì)量;
當丟棄請求數(shù)超過最高并發(fā)閾值的DROP_PERCENTAGE時,觸發(fā)子網(wǎng)關(guān)服務(wù)申請擴容流程;
當服務(wù)副本接口x有多個服務(wù)副本時,在一段時間內(nèi),該服務(wù)副本接口x的請求并發(fā)數(shù)低于對應(yīng)接口的最高并發(fā)閾值的SHRINK_FLAG時,子網(wǎng)關(guān)服務(wù)申請縮容請求;子網(wǎng)關(guān)服務(wù)收到縮容成功的申請后,更新當前集群的網(wǎng)絡(luò)狀態(tài);
當服務(wù)副本接口x僅有一個服務(wù)副本時,子網(wǎng)關(guān)服務(wù)首先檢查是否有同樣滿足縮容條件的服務(wù),如果不存在相應(yīng)服務(wù),拒絕本次縮容,否則,觸發(fā)申請縮容的流程;
-所述結(jié)合對當前服務(wù)請求的擴縮容處理結(jié)果和所轉(zhuǎn)發(fā)的L7層面流量,實現(xiàn)L7層面的自動熔斷,包括:
針對被單獨服務(wù)的接口,子網(wǎng)關(guān)服務(wù)根據(jù)當前邏輯概念下的微服務(wù),獲取每一個被單獨服務(wù)的接口所有的最大并發(fā)閾值;當流量進入子網(wǎng)關(guān)服務(wù)時,子網(wǎng)關(guān)服務(wù)根據(jù)接口內(nèi)容給對應(yīng)的接口數(shù)加一,同時判斷當前請求是否已經(jīng)超過對應(yīng)接口的最大并發(fā)閾值,如果已達到,則請求不再發(fā)送到實際服務(wù)中,子網(wǎng)關(guān)服務(wù)直接丟棄該請求,并返回給外部用戶定制化的服務(wù)降級結(jié)果,從而實現(xiàn)L7層面的自動熔斷;
針對接收多個接口的服務(wù)副本的接口,當單位時間內(nèi)該接口返回的錯誤率超過MAX_ERROR_RATE時,子網(wǎng)關(guān)服務(wù)發(fā)起擴容申請,并確定該服務(wù)副本的最高分接口,所有進入該服務(wù)副本最高分接口的請求被丟棄,其余請求正常發(fā)送;
當子網(wǎng)關(guān)服務(wù)接收到擴容成功的申請后,該服務(wù)部分的最高分接口的請求發(fā)送到分流后的服務(wù)副本。
2.根據(jù)權(quán)利要求1所述的面向云原生的微服務(wù)自動擴縮容和自動熔斷方法,其特征在于,所述設(shè)置云原生系統(tǒng)中集群內(nèi)部的網(wǎng)關(guān)規(guī)則,接管集群的入口流量,包括:
基于Poseidon系統(tǒng),將Poseidon系統(tǒng)通過Kubernetes部署在集群中,實現(xiàn)KubernetesIngress Gateway的規(guī)則,從而接管集群的入口流量。
3.根據(jù)權(quán)利要求2所述的面向云原生的微服務(wù)自動擴縮容和自動熔斷方法,其特征在于,所述Poseidon系統(tǒng)同時運行多份服務(wù)副本,用于保證系統(tǒng)本身各個組件的穩(wěn)定性;和/或
所述Poseidon系統(tǒng)內(nèi)部部署有一個Etcd集群,用于保證數(shù)據(jù)的一致性和可用性。
4.根據(jù)權(quán)利要求1所述的面向云原生的微服務(wù)自動擴縮容和自動熔斷方法,其特征在于,所述子網(wǎng)關(guān)服務(wù)基于Envoy實現(xiàn)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海交通大學,未經(jīng)上海交通大學許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011300768.2/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 基于人工智能服務(wù)云平臺的微服務(wù)管理方法和系統(tǒng)
- 域名管理方法、裝置及系統(tǒng)
- 微服務(wù)通信方法、裝置、電子設(shè)備及機器可讀存儲介質(zhì)
- 微服務(wù)應(yīng)用平臺及其資源保存方法和保存裝置
- 一種微服務(wù)關(guān)聯(lián)分析與預(yù)測方法
- 微服務(wù)配置信息管理系統(tǒng)、方法、服務(wù)器及存儲介質(zhì)
- 微服務(wù)容器之間服務(wù)啟動方法、裝置、設(shè)備及存儲介質(zhì)
- 微服務(wù)組合方法、裝置、設(shè)備及存儲介質(zhì)
- 微服務(wù)接口的發(fā)布方法、裝置、電子設(shè)備和存儲介質(zhì)
- 一種大規(guī)模微服務(wù)架構(gòu)及其管理方法





