[發(fā)明專利]一種微服務(wù)管理方法、裝置及系統(tǒng)在審
| 申請?zhí)枺?/td> | 202010197134.2 | 申請日: | 2020-03-19 |
| 公開(公告)號: | CN111427674A | 公開(公告)日: | 2020-07-17 |
| 發(fā)明(設(shè)計(jì))人: | 韓珉 | 申請(專利權(quán))人: | 成都云盯科技有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/50;G06F11/30 |
| 代理公司: | 北京細(xì)軟智谷知識(shí)產(chǎn)權(quán)代理有限責(zé)任公司 11471 | 代理人: | 尚文文 |
| 地址: | 610000 四川省成都市中國(四川)自由貿(mào)易*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 微服 管理 方法 裝置 系統(tǒng) | ||
本申請公開了一種微服務(wù)管理方法、裝置及系統(tǒng)。該方法中,在接收到服務(wù)請求后,從Tomcat線程池中選擇第一線程用于響應(yīng)該服務(wù)請求;根據(jù)服務(wù)請求所屬的業(yè)務(wù)類型從N個(gè)controller線程池中確定目標(biāo)controller線程池,目標(biāo)controller線程池包括M個(gè)線程;第二線程根據(jù)服務(wù)請求訪問目標(biāo)服務(wù)實(shí)例,其中第二線程為目標(biāo)controller線程池中任一線程;若第二線程在的預(yù)設(shè)超時(shí)時(shí)間內(nèi)訪問目標(biāo)服務(wù)實(shí)例失敗,則將目標(biāo)服務(wù)實(shí)例標(biāo)記為不可用,以使每個(gè)線程不再訪問目標(biāo)服務(wù)實(shí)例。該方案能夠避免在目標(biāo)服務(wù)實(shí)例異常時(shí),系統(tǒng)不斷向該目標(biāo)實(shí)例發(fā)送請求,而這些重復(fù)的請求將會(huì)占用大量的時(shí)間與資源。
技術(shù)領(lǐng)域
本申請涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種微服務(wù)管理方法、裝置及系統(tǒng)。
背景技術(shù)
單一計(jì)算機(jī)的處理能力已經(jīng)不能滿足我們的需求,于是采用多臺(tái)計(jì)算機(jī)形 成分布式系統(tǒng)為用戶提供服務(wù)。分布式服務(wù)系統(tǒng)在對外提供服務(wù)的過程中,能 夠分解處理壓力,提高性能并提高服務(wù)的可用性。
圖1為示例性的給出了一種分布式系統(tǒng)訪問流程示意圖,如圖所示,在接 收到用戶的服務(wù)請求后,確定用于響應(yīng)該服務(wù)請求的controller,確定出的 controller根據(jù)服務(wù)請求向目標(biāo)服務(wù)實(shí)例發(fā)送訪問請求,以獲取用戶所需數(shù)據(jù)。 若controller根據(jù)服務(wù)請求確定向服務(wù)實(shí)例B發(fā)送訪問請求以獲取相應(yīng)數(shù)據(jù), 而服務(wù)實(shí)例B發(fā)生異常,無法正常響應(yīng)controller,故controller將重復(fù)項(xiàng) 服務(wù)實(shí)例B發(fā)送請求,將會(huì)占用大量資源并影響其他業(yè)務(wù)處理,在高并發(fā)情況 下可能會(huì)導(dǎo)致資源耗盡進(jìn)而導(dǎo)致系統(tǒng)崩潰。
發(fā)明內(nèi)容
本申請實(shí)施例提供一種微服務(wù)管理方法、裝置及系統(tǒng),用于實(shí)現(xiàn)全線程隔 離,有助于避免由于一個(gè)服務(wù)實(shí)例異常導(dǎo)致系統(tǒng)雪崩的情況發(fā)生。
第一方面,本申請實(shí)施例提供了一種微服務(wù)管理方法,包括:
接收用戶的服務(wù)請求;
從Tomcat線程池中選擇第一線程用于響應(yīng)所述服務(wù)請求;
根據(jù)所述服務(wù)請求所屬的業(yè)務(wù)類型從N個(gè)controller線程池中確定目標(biāo)controller線程池,所述目標(biāo)controller線程池包括M個(gè)線程,N、M為大于 等于1的整數(shù);
第二線程根據(jù)所述服務(wù)請求訪問目標(biāo)服務(wù)實(shí)例,所述第二線程為所述目標(biāo)controller線程池中任一線程;
若所述第二線程在的預(yù)設(shè)超時(shí)時(shí)間內(nèi)訪問目標(biāo)服務(wù)實(shí)例失敗,則將所述目 標(biāo)服務(wù)實(shí)例標(biāo)記為不可用,以使所述N個(gè)controller線程池中的每個(gè)線程不 再訪問所述服務(wù)實(shí)例。
在一種可能的實(shí)現(xiàn)方式中,上述方法還包括:
若所述第二線程程序運(yùn)行故障,且在所述線程池對應(yīng)的預(yù)設(shè)超時(shí)時(shí)間內(nèi)未 恢復(fù),則釋放所述第二線程。
在一種可能的實(shí)現(xiàn)方式中,上述方法還包括:
確定所述第二線程異常原因,向用戶輸出所述異常原因。
在一種可能的實(shí)現(xiàn)方式中,確定所述第二線程異常原因,包括:
根據(jù)所述第二線程輸出的超文本傳輸協(xié)議HTTP消息中包含的異常原因代 碼確定異常原因。
在一種可能的實(shí)現(xiàn)方式中,所述預(yù)設(shè)超時(shí)時(shí)間,為所述目標(biāo)controller 線程池對應(yīng)的超時(shí)時(shí)間,或者,為所述目標(biāo)controller線程池與所述目標(biāo)服 務(wù)實(shí)例對應(yīng)的超時(shí)時(shí)間。
在一種可能的實(shí)現(xiàn)方式中,所述M的取值根據(jù)CPU的數(shù)量、CPU的使用率、 所述預(yù)設(shè)超時(shí)時(shí)間以及預(yù)設(shè)的理想消耗時(shí)間確定;或者
所述M的取值根據(jù)當(dāng)前負(fù)載大小和線程上限值確定;或者
所述M為預(yù)設(shè)的常數(shù)。
該專利技術(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/202010197134.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 基于人工智能服務(wù)云平臺(tái)的微服務(wù)管理方法和系統(tǒng)
- 域名管理方法、裝置及系統(tǒng)
- 微服務(wù)通信方法、裝置、電子設(shè)備及機(jī)器可讀存儲(chǔ)介質(zhì)
- 微服務(wù)應(yīng)用平臺(tái)及其資源保存方法和保存裝置
- 一種微服務(wù)關(guān)聯(lián)分析與預(yù)測方法
- 微服務(wù)配置信息管理系統(tǒng)、方法、服務(wù)器及存儲(chǔ)介質(zhì)
- 微服務(wù)容器之間服務(wù)啟動(dòng)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 微服務(wù)組合方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 微服務(wù)接口的發(fā)布方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)
- 一種大規(guī)模微服務(wù)架構(gòu)及其管理方法
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





