本技術(shù)涉及云計算,尤其涉及一種流量控制方法、裝置及系統(tǒng)。
背景技術(shù):
1、隨著云原生技術(shù)的發(fā)展,越來越多的用戶使用集群管理系統(tǒng)管理數(shù)萬臺跨可用區(qū)的機器。集群管理系統(tǒng)可用于調(diào)度、部署、管理和擴展用戶應用,加快用戶應用從開發(fā)到生產(chǎn)的進度。集群管理系統(tǒng)可以提供超配、進程級別資源隔離等,能夠提升集群資源的使用率。集群管理系統(tǒng)還可以對用戶屏蔽硬件細節(jié)和硬件故障,并提供故障遷移能力,能夠最大限度減少故障時間,提高用戶體驗。隨著集群管理系統(tǒng)業(yè)務規(guī)模的增長,可能會導致集群管理系統(tǒng)過載。當集群管理系統(tǒng)過載時,集群管理系統(tǒng)的中央處理器、內(nèi)存等資源達到瓶頸,使得集群管理系統(tǒng)響應變慢,可能導致大量的請求重試或者系統(tǒng)內(nèi)部重試,加劇集群管理系統(tǒng)的負載,影響集群管理系統(tǒng)的穩(wěn)定性。
技術(shù)實現(xiàn)思路
1、本技術(shù)提供一種流量控制方法、裝置及系統(tǒng),用于提高集群管理系統(tǒng)的穩(wěn)定性。
2、第一方面,本技術(shù)提供一種流量控制方法,該方法可以應用于第一計算設備,或者配置于第一計算設備中的部件(如處理器、芯片、芯片系統(tǒng)、電路或其它等),或者軟件模塊。該第一計算設備例如可以為服務器、云服務器等,不予限制。以第一計算設備為執(zhí)行主體為例,該方法包括:第一計算設備獲取集群管理系統(tǒng)的過載等級和流量控制閾值,所述過載等級和所述流量控制閾值是根據(jù)所述集群管理系統(tǒng)的負載參數(shù)確定的,所述流量控制閾值為允許訪問所述集群管理系統(tǒng)的請求的最大數(shù)量;根據(jù)所述過載等級和所述流量控制閾值確定流量控制策略;接收第一請求,所述第一請求用于訪問所述集群管理系統(tǒng);根據(jù)所述流量控制策略,拒絕或響應所述第一請求。
3、上述實施例中,集群管理系統(tǒng)的過載等級是根據(jù)集群管理系統(tǒng)的負載參數(shù)確定的,能夠反映集群管理系統(tǒng)的真實負載情況,相較于流量控制閾值提前設定的方案,本技術(shù)實施例能夠基于集群管理系統(tǒng)的真實負載情況,適應性地動態(tài)調(diào)整過載等級和流量控制閾值,能夠避免因流量控制閾值提前設置不合理而加重集群管理系統(tǒng)的負載的問題。本技術(shù)實施例根據(jù)流量控制策略對集群管理系統(tǒng)進行流量控制,能夠在集群管理系統(tǒng)過載時降低該集群管理系統(tǒng)的負載,提高集群管理系統(tǒng)的穩(wěn)定性。
4、在一種可能的實現(xiàn)方式中,如果所述過載等級為第一等級,訪問所述集群管理系統(tǒng)的請求的數(shù)量小于所述流量控制閾值,所述流量控制策略為響應訪問所述集群管理系統(tǒng)的請求;或者,如果所述過載等級不是第一等級,訪問所述集群管理系統(tǒng)的請求的數(shù)量大于或等于所述流量控制閾值,所述流量控制策略為拒絕部分或全部訪問所述集群管理系統(tǒng)的請求。
5、通過上述實現(xiàn)方式,集群管理系統(tǒng)未過載,可以響應訪問集群管理系統(tǒng)的請求;集群管理系統(tǒng)過載,則可以拒絕部分或全部集群管理系統(tǒng)的請求,能夠降低集群管理系統(tǒng)的負載。
6、在一種可能的實現(xiàn)方式中,流量控制策略為拒絕部分訪問所述集群管理系統(tǒng)的請求具體可以為:所述流量控制策略為響應第一類型請求,以及拒絕第二類型請求中的第一占比的請求;或者,所述流量控制策略為響應第三類型請求,拒絕第四類型請求中的第二占比的請求,以及拒絕第二類型請求中的第一占比的請求。其中,所述第一類型請求、所述第二類型請求、所述第三類型請求和所述第四類型請求均為訪問所述集群管理系統(tǒng)的請求,所述第一類型請求、所述第三類型請求和所述第四類型請求均為所述集群管理系統(tǒng)的內(nèi)部請求,所述第三類型請求的優(yōu)先級高于所述第四類型請求的優(yōu)先級,所述第二類型請求為來自用戶的請求,所述第一占比和所述第二占比是根據(jù)所述集群管理系統(tǒng)的過載等級確定的。
7、訪問集群管理系統(tǒng)的請求可能是來自用戶的請求,也可能是自身的內(nèi)部請求,如集群管理系統(tǒng)內(nèi)部管理組件與應用程序接口服務交互的請求、心跳上報請、或調(diào)度請求等。這些內(nèi)部請求可以用于集群管理系統(tǒng)的自我維護,以保持集群管理系統(tǒng)內(nèi)部的正常工作。當訪問集群管理系統(tǒng)的請求的數(shù)量大于或等于流量控制閾值時,拒絕這些內(nèi)部請求可能會加劇集群管理系統(tǒng)負載,導致集群管理系統(tǒng)的處理能力下降。通過上述實現(xiàn)方式,當訪問集群管理系統(tǒng)的請求的數(shù)量大于或等于流量控制閾值時,可以響應集群管理系統(tǒng)的內(nèi)部請求,或者響應集群管理系統(tǒng)的高優(yōu)先級的內(nèi)部請求,能夠保持集群管理系統(tǒng)的自我維護,避免因拒絕這些內(nèi)部請求而導致集群管理系統(tǒng)的處理能力下降的問題,從而能夠提高集群管理系統(tǒng)的穩(wěn)定性。
8、在一種可能的實現(xiàn)方式中,第一計算設備根據(jù)所述流量控制閾值和所述流量控制策略拒絕或響應所述第一請求具體可以為:所述第一請求為所述第一類型請求或者為所述第三類型請求,第一計算設備響應所述第一請求;或者,所述第一請求為所述第二類型請求或者為所述第四類型請求,第一計算設備響應或拒絕所述第一請求。
9、在一種可能的實現(xiàn)方式中,第一計算設備還可以接收多個第二請求;如果所述多個第二請求中的每個第二請求為所述第二類型請求,根據(jù)所述流量控制策略拒絕所述多個第二請求中的所述第一占比的請求;或者,如果所述多個第二請求中的每個第二請求為所述第四類型請求,根據(jù)所述流量控制策略拒絕所述多個第二請求中的所述第二占比的請求。
10、在一種可能的實現(xiàn)方式中,第一計算設備獲取集群管理系統(tǒng)的過載等級和流量控制閾值具體可以為:第一計算設備獲取所述集群管理系統(tǒng)的負載參數(shù);根據(jù)所述負載參數(shù)確定所述過載等級和所述流量控制閾值。可選地,第一計算設備根據(jù)所述負載參數(shù)確定所述過載等級和所述流量控制閾值具體可以為:第一計算設備根據(jù)所述負載參數(shù)預測所述集群管理系統(tǒng)的未來負載情況;根據(jù)所述負載參數(shù)和所述集群管理系統(tǒng)的未來負載情況確定所述過載等級和所述流量控制閾值。
11、第一計算設備在確定過載等級和流量控制閾值時有考慮該集群管理系統(tǒng)的未來負載情況,這樣不僅可以基于未來負載情況對集群管理系統(tǒng)進行擴容或縮容,還可以合理調(diào)整過載等級和流量控制閾值,能夠準備反映集群管理系統(tǒng)的負載情況。
12、在另一種可能的實現(xiàn)方式中,第一計算設備獲取集群管理系統(tǒng)的過載等級和流量控制閾值具體可以為:第一計算設備接收所述過載等級和所述流量控制閾值。例如,第一計算設備接收來自第二計算設備的該過載等級和流量控制閾值。這樣第一計算設備既可以自身確定過載等級和流量控制閾值,也可以由其它計算設備確定,實現(xiàn)方式靈活。
13、在一種可能的實現(xiàn)方式中,該負載參數(shù)可以包括如下一項或多項:中央處理器的使用率,內(nèi)存的使用率,網(wǎng)絡輸入輸出端口的使用率,磁盤輸入輸出端口的使用率,所述集群管理系統(tǒng)的資源壓力信息,所述集群管理系統(tǒng)的每秒查詢率,應用程序接口的時延,或者訪問所述集群管理系統(tǒng)的請求的數(shù)量。
14、第二方面,本技術(shù)提供又一種流量控制方法,該方法可以應用于第二計算設備,或者配置于第二計算設備中的部件(如處理器、芯片、芯片系統(tǒng)、電路或其它等),或者軟件模塊。該第二計算設備例如可以為服務器、云服務器等,不予限制。以第二計算設備為執(zhí)行主體為例,該方法包括:第二計算設備獲取集群管理系統(tǒng)的負載參數(shù);根據(jù)所述負載參數(shù)確定所述集群管理系統(tǒng)的過載等級和流量控制閾值,所述流量控制閾值為允許訪問所述集群管理系統(tǒng)的請求的最大數(shù)量;向所述集群管理系統(tǒng)發(fā)送所述過載等級和所述流量控制閾值,以使所述集群管理系統(tǒng)根據(jù)所述過載等級和所述流量控制閾值確定流量控制策略,并根據(jù)所述流量控制策略拒絕或響應訪問所述集群管理系統(tǒng)的請求。
15、其中,第二計算設備向集群管理系統(tǒng)發(fā)送所述過載等級和所述流量控制閾值可替換為:第二計算設備向第一計算設備發(fā)送所述過載等級和所述流量控制閾值。該第一計算設備部署在該集群管理系統(tǒng)中,可理解為該集群管理系統(tǒng)的控制器等,不予限制。
16、在一種可能的實現(xiàn)方式中,第二計算設備根據(jù)所述負載參數(shù)確定所述集群管理系統(tǒng)的過載等級和流量控制閾值具體可以為:第二計算設備根據(jù)所述負載參數(shù)預測所述集群管理系統(tǒng)的未來負載情況;根據(jù)所述負載參數(shù)和所述集群管理系統(tǒng)的未來負載情況確定所述過載等級和所述流量控制閾值。
17、在一種可能的實現(xiàn)方式中,所述負載參數(shù)可以包括如下一項或多項:中央處理器的使用率,內(nèi)存的使用率,網(wǎng)絡輸入輸出端口的使用率,磁盤輸入輸出端口的使用率,所述集群管理系統(tǒng)的資源壓力信息,所述集群管理系統(tǒng)的每秒查詢率,應用程序接口的時延,或者訪問所述集群管理系統(tǒng)的請求的數(shù)量。
18、第三方面,本技術(shù)提供一種流量控制裝置,所述流量控制裝置包括多個功能模塊;所述多個功能模塊相互作用,實現(xiàn)上述第一方面或第二方面及其各個可能的實現(xiàn)方式所述的方法。所述多個功能模塊可以基于軟件、硬件或軟件和硬件的結(jié)合實現(xiàn),且所述多個功能模塊可以基于具體實現(xiàn)進行任意組合或分割。
19、第四方面,本技術(shù)提供一種流量控制系統(tǒng),包括用于執(zhí)行上述第一方面及其各個可能的實現(xiàn)方式所述方法的裝置(或計算設備),和/或用于執(zhí)行上述第二方面及其各個可能的實現(xiàn)方式所述的裝置(或計算設備)。
20、第五方面,本技術(shù)提供一種計算設備,包括存儲器和至少一個處理器,所述至少一個處理器調(diào)用存儲在所述存儲器中的程序代碼以執(zhí)行上述第一方面或第二方面及其各個可能的實現(xiàn)方式所述的方法。
21、第六方面,本技術(shù)還提供一種計算設備集群,包括至少一個計算設備,每個計算設備包括至少一個處理器和存儲器,該至少一個計算設備的處理器用于執(zhí)行上述第一方面或第二方面及其各個可能的實現(xiàn)方式所述的方法。
22、第七方面,本技術(shù)還提供一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)中存儲有計算機程序,當所述計算機程序被計算設備執(zhí)行時,使得所述計算設備執(zhí)行上述第一方面或第二方面及其各個可能的實現(xiàn)方式所述的方法。
23、第八方面,本技術(shù)還提供一種計算機程序產(chǎn)品,計算機程序產(chǎn)品包括:計算機程序(也可以稱為代碼,或指令),當計算機程序被計算設備運行時,使得該計算設備執(zhí)行上述第一方面或第二方面及其各個可能的實現(xiàn)方式所述的方法。
24、第九方面,本技術(shù)還提供一種芯片,所述芯片用于讀取存儲器中存儲的計算機程序,執(zhí)行上述第一方面或第二方面及其各個可能的實現(xiàn)方式所述的方法。
25、第十方面,本技術(shù)還提供一種芯片系統(tǒng),該芯片系統(tǒng)包括處理器,用于支持計算設備實現(xiàn)上述第一方面或第二方面及其各個可能的實現(xiàn)方式所述的方法。
26、在一種可能的設計中,所述芯片系統(tǒng)還包括存儲器,所述存儲器用于保存該計算設備必要的程序和數(shù)據(jù)。該芯片系統(tǒng)可以由芯片構(gòu)成,也可以包含芯片和其他分立器件。
27、上述第二方面至第十方面中任一方面及其可能的設計的有益效果請具體參閱上述第一方面及其各個可能的設計的有益效果,在此不再贅述。