1.一種容器化微服務(wù)自動(dòng)伸縮及遷移調(diào)度的方法,其特征在于,包括:
接收容器和/或微服務(wù)產(chǎn)生的經(jīng)故障定位后的預(yù)警數(shù)據(jù);和/或第三方平臺(tái)發(fā)送的攜帶容器和/或微服務(wù)自動(dòng)伸縮任務(wù)計(jì)劃數(shù)據(jù);
觸發(fā)容器自動(dòng)伸縮或故障調(diào)度轉(zhuǎn)移。
2.如權(quán)利要求1所述的方法,其特征在于,所述接收容器和/或微服務(wù)產(chǎn)生的經(jīng)故障定位后的預(yù)警數(shù)據(jù),包括:
實(shí)時(shí)接收資源監(jiān)控和分析系統(tǒng)發(fā)送的容器和/或微服務(wù)產(chǎn)生的經(jīng)故障定位后的預(yù)警數(shù)據(jù)。
3.如權(quán)利要求2所述的方法,其特征在于,所述實(shí)時(shí)接收資源監(jiān)控和分析系統(tǒng)發(fā)送的容器和/或微服務(wù)產(chǎn)生的經(jīng)故障定位后的預(yù)警數(shù)據(jù),包括:
資源監(jiān)控和分析系統(tǒng)實(shí)時(shí)采集服務(wù)調(diào)用日志和容器資源利用信息;
判斷所述采集的服務(wù)調(diào)用日志和容器資源利用信息滿足系統(tǒng)預(yù)設(shè)預(yù)警條件后,在微服務(wù)調(diào)用鏈里定位原始故障點(diǎn);
實(shí)時(shí)接收資源監(jiān)控和分析系統(tǒng)發(fā)送的所述原始故障點(diǎn)的異常信息數(shù)據(jù)。
4.如權(quán)利要求3所述的方法,其特征在于,所述判斷所述采集的服務(wù)調(diào)用日志和容器資源利用信息滿足系統(tǒng)預(yù)設(shè)預(yù)警條件后,在微服務(wù)調(diào)用鏈里定位原始故障點(diǎn),包括:
基于服務(wù)器配置的預(yù)設(shè)預(yù)警條件閥值以及預(yù)設(shè)算法分析,判斷采集的HTTP和TCP/UDP類型的服務(wù)調(diào)用日志和容器資源利用信息中的容器CPU、內(nèi)存、存儲(chǔ)、IO和/或網(wǎng)絡(luò)的使用數(shù)據(jù),以及微服務(wù)的響應(yīng)時(shí)間、失敗率、QPS是否滿足系統(tǒng)預(yù)設(shè)預(yù)警條件;
若滿足系統(tǒng)預(yù)設(shè)預(yù)警條件之一,則進(jìn)行故障傳導(dǎo)分析,在整個(gè)微服務(wù)調(diào)用鏈里定位原始故障點(diǎn)。
5.如權(quán)利要求4所述的方法,其特征在于,所述系統(tǒng)預(yù)設(shè)預(yù)警條件包括但不限于高負(fù)荷、低使用率、異常波動(dòng)或可用性不達(dá)標(biāo)中的一種或多種。
6.如權(quán)利要求1-5之一所述的方法,其特征在于,所述觸發(fā)容器自動(dòng)伸縮或故障調(diào)度轉(zhuǎn)移,包括:
根據(jù)預(yù)警數(shù)據(jù)中的IP和端口或服務(wù)ID從容器集群環(huán)境中獲取相關(guān)微服務(wù)屬性信息;
把預(yù)警數(shù)據(jù)交給規(guī)則引擎選出需要執(zhí)行動(dòng)作的決策項(xiàng)集合,依據(jù)決策項(xiàng)的調(diào)度機(jī)制調(diào)用任務(wù)執(zhí)行引擎生成計(jì)劃任務(wù),任務(wù)執(zhí)行引擎根據(jù)任務(wù)計(jì)劃數(shù)據(jù)定義準(zhǔn)時(shí)調(diào)用容器集群的API觸發(fā)容器完成自動(dòng)伸縮或故障調(diào)度轉(zhuǎn)移。
7.如權(quán)利要求6所述的方法,其特征在于,所述把預(yù)警數(shù)據(jù)交給規(guī)則引擎選出需要執(zhí)行動(dòng)作的決策項(xiàng)集合,依據(jù)決策項(xiàng)的調(diào)度機(jī)制調(diào)用任務(wù)執(zhí)行引擎生成計(jì)劃任務(wù),任務(wù)執(zhí)行引擎根據(jù)任務(wù)計(jì)劃數(shù)據(jù)定義準(zhǔn)時(shí)調(diào)用容器集群的API觸發(fā)容器完成自動(dòng)伸縮或故障調(diào)度轉(zhuǎn)移,包括:
參照RETE算法,根據(jù)預(yù)警數(shù)據(jù)的類型進(jìn)行規(guī)則類型匹配,將每類中的預(yù)警數(shù)據(jù)根據(jù)屬性值進(jìn)行多級(jí)規(guī)則匹配,選出一個(gè)條件被優(yōu)先滿足的規(guī)則后,根據(jù)選定的規(guī)則從規(guī)則適配決策表中匹配決策項(xiàng)集合,通過(guò)匹配的決策項(xiàng)集合解決決策項(xiàng)集合中的沖突,形成可順序執(zhí)行決策項(xiàng),根據(jù)決策項(xiàng)的調(diào)度機(jī)制調(diào)用容器集群的API完成容器伸縮或故障調(diào)度轉(zhuǎn)移。
8.如權(quán)利要求1所述的方法,其特征在于,所述接收第三方平臺(tái)發(fā)送的攜帶容器和/或微服務(wù)自動(dòng)伸縮任務(wù)計(jì)劃數(shù)據(jù),觸發(fā)容器自動(dòng)伸縮或故障調(diào)度轉(zhuǎn)移,包括:
接收第三方平臺(tái)按照接口調(diào)用協(xié)議定義的格式提交的攜帶容器和/或微服務(wù)自動(dòng)伸縮任務(wù)計(jì)劃數(shù)據(jù);
調(diào)用任務(wù)執(zhí)行引擎生成計(jì)劃任務(wù),任務(wù)執(zhí)行引擎根據(jù)任務(wù)計(jì)劃數(shù)據(jù)定義,準(zhǔn)時(shí)調(diào)用容器集群的API觸發(fā)容器完成自動(dòng)伸縮或故障調(diào)度轉(zhuǎn)移。
9.如權(quán)利要求8所述的方法,其特征在于,所述接收第三方平臺(tái)按照接口調(diào)用協(xié)議定義的格式提交的攜帶容器和/或微服務(wù)自動(dòng)伸縮任務(wù)計(jì)劃數(shù)據(jù),包括:
接收第三方平臺(tái)通過(guò)HTTP或HTTPS協(xié)議提供的接口通過(guò)同步調(diào)用或異步調(diào)用服務(wù)使用JSON格式提交的攜帶容器和/或微服務(wù)自動(dòng)伸縮任務(wù)計(jì)劃數(shù)據(jù),并在注冊(cè)成功回調(diào)地址后可實(shí)現(xiàn)消息推送。
10.如權(quán)利要求1-9所述的方法,其特征在于,所述觸發(fā)容器自動(dòng)伸縮,包括:
伸縮容器的CPU、內(nèi)存、存儲(chǔ)資源中的一種或多種;
重啟容器;
基于預(yù)設(shè)時(shí)間間隔將容器逐一伸縮;
基于預(yù)設(shè)時(shí)間間隔按照預(yù)設(shè)比例將容器逐步伸縮。
11.一種容器化微服務(wù)自動(dòng)伸縮及遷移調(diào)度的系統(tǒng),其特征在于,包括:
接收模塊,用于接收容器和/或微服務(wù)產(chǎn)生的經(jīng)故障定位后的預(yù)警數(shù)據(jù);和/或第三方平臺(tái)發(fā)送的攜帶容器和/或微服務(wù)自動(dòng)伸縮任務(wù)計(jì)劃數(shù)據(jù);
觸發(fā)模塊,用于觸發(fā)容器自動(dòng)伸縮或故障調(diào)度轉(zhuǎn)移。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述接收模塊,包括:
第一接收模塊,用于實(shí)時(shí)接收資源監(jiān)控和分析系統(tǒng)發(fā)送的容器和/或微服務(wù)產(chǎn)生的經(jīng)故障定位后的預(yù)警數(shù)據(jù)。
13.如權(quán)利要求12所述的系統(tǒng),其特征在于,所述第一接收模塊,包括:
資源監(jiān)控和分析系統(tǒng)采集單元,用于實(shí)時(shí)采集服務(wù)調(diào)用日志和容器資源利用信息;
判斷單元,用于判斷所述采集的服務(wù)調(diào)用日志和容器資源利用信息滿足系統(tǒng)預(yù)設(shè)預(yù)警條件后,在微服務(wù)調(diào)用鏈里定位原始故障點(diǎn);
接收單元,用于實(shí)時(shí)接收資源監(jiān)控和分析系統(tǒng)發(fā)送的所述原始故障點(diǎn)的異常信息數(shù)據(jù)。
14.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述判斷單元,包括:
判斷子單元,用于基于服務(wù)器配置的預(yù)設(shè)預(yù)警條件閥值以及預(yù)設(shè)算法分析,判斷采集的HTTP和TCP/UDP類型的服務(wù)調(diào)用日志和容器資源利用信息中的容器CPU、內(nèi)存、存儲(chǔ)、IO和/或網(wǎng)絡(luò)的使用數(shù)據(jù),以及微服務(wù)的響應(yīng)時(shí)間、失敗率、QPS是否滿足系統(tǒng)預(yù)設(shè)預(yù)警條件;
定位單元,用于在判斷子單元判斷所述采集的服務(wù)調(diào)用日志和容器資源利用信息滿足系統(tǒng)預(yù)設(shè)預(yù)警條件之一,則進(jìn)行故障傳導(dǎo)分析,在整個(gè)微服務(wù)調(diào)用鏈里定位原始故障點(diǎn)。
15.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述系統(tǒng)預(yù)設(shè)預(yù)警條件包括但不限于高負(fù)荷、低使用率、異常波動(dòng)或可用性不達(dá)標(biāo)中的一種或多種。
16.如權(quán)利要求11-15之一所述的系統(tǒng),其特征在于,所述觸發(fā)模塊,包括:
獲取單元,用于根據(jù)預(yù)警數(shù)據(jù)中的IP和端口或服務(wù)ID從容器集群環(huán)境中獲取相關(guān)微服務(wù)屬性信息;
第一觸發(fā)單元,用于把預(yù)警數(shù)據(jù)交給規(guī)則引擎選出需要執(zhí)行動(dòng)作的決策項(xiàng)集合,依據(jù)決策項(xiàng)的調(diào)度機(jī)制調(diào)用任務(wù)執(zhí)行引擎生成計(jì)劃任務(wù),任務(wù)執(zhí)行引擎根據(jù)任務(wù)計(jì)劃數(shù)據(jù)定義準(zhǔn)時(shí)調(diào)用容器集群的API觸發(fā)容器完成自動(dòng)伸縮或故障調(diào)度轉(zhuǎn)移。
17.如權(quán)利要求16所述的系統(tǒng),其特征在于,所述第一觸發(fā)單元,包括:
規(guī)則匹配單元,用于參照RETE算法,根據(jù)預(yù)警數(shù)據(jù)的類型進(jìn)行規(guī)則類型匹配,將每類中的預(yù)警數(shù)據(jù)根據(jù)屬性值進(jìn)行多級(jí)規(guī)則匹配,選出一個(gè)條件被優(yōu)先滿足的規(guī)則后,根據(jù)選定的規(guī)則從規(guī)則適配決策表中匹配決策項(xiàng)集合,通過(guò)匹配的決策項(xiàng)集合解決決策項(xiàng)集合中的沖突,形成可順序執(zhí)行決策項(xiàng);
第一觸發(fā)子單元,用于根據(jù)決策項(xiàng)的調(diào)度機(jī)制調(diào)用容器集群的API完成容器伸縮或故障調(diào)度轉(zhuǎn)移。
18.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述接收模塊,包括:
第二接收模塊,用于接收第三方平臺(tái)按照接口調(diào)用協(xié)議定義的格式提交的攜帶容器和/或微服務(wù)自動(dòng)伸縮任務(wù)計(jì)劃數(shù)據(jù)。
19.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述觸發(fā)模塊,包括:
第二觸發(fā)單元,用于調(diào)用任務(wù)執(zhí)行引擎生成計(jì)劃任務(wù),任務(wù)執(zhí)行引擎根據(jù)任務(wù)計(jì)劃數(shù)據(jù)定義,準(zhǔn)時(shí)調(diào)用容器集群的API觸發(fā)容器完成自動(dòng)伸縮或故障調(diào)度轉(zhuǎn)移。
20.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述第二接收模塊,包括:
第二接收單元,用于接收第三方平臺(tái)通過(guò)HTTP或HTTPS協(xié)議提供的接口通過(guò)同步調(diào)用或異步調(diào)用服務(wù)使用JSON格式提交的攜帶容器和/或微服務(wù)自動(dòng)伸縮任務(wù)計(jì)劃數(shù)據(jù),并在注冊(cè)成功回調(diào)地址后可實(shí)現(xiàn)消息推送。
21.如權(quán)利要求11-20所述的系統(tǒng),其特征在于,所述觸發(fā)模塊,還包括:
第一伸縮單元,用于伸縮容器的CPU、內(nèi)存、存儲(chǔ)資源中的一種或多種;
重啟單元,用于重啟容器;
第二伸縮單元,用于基于預(yù)設(shè)時(shí)間間隔將容器逐一伸縮;
第三伸縮單元,用于基于預(yù)設(shè)時(shí)間間隔按照預(yù)設(shè)比例將容器逐步伸縮。
22.一種容器化微服務(wù)自動(dòng)伸縮及遷移調(diào)度的設(shè)備,其特征在于,包括如權(quán)利要求11-21任一項(xiàng)所述的容器化微服務(wù)自動(dòng)伸縮及遷移調(diào)度的系統(tǒng)。