本申請(qǐng)涉及云計(jì)算,尤其涉及一種事件推送方法、設(shè)備、存儲(chǔ)介質(zhì)及程序產(chǎn)品。
背景技術(shù):
1、服務(wù)網(wǎng)格(service?mesh)是微服務(wù)架構(gòu)中處理服務(wù)通信的方式,它提供了智能化的流量管理、安全性和可觀察性等功能,旨在簡(jiǎn)化服務(wù)間通信的復(fù)雜性,被廣泛應(yīng)用于云計(jì)算領(lǐng)域中。例如,將云原生網(wǎng)關(guān)與服務(wù)網(wǎng)格相結(jié)合,通過在部署有網(wǎng)關(guān)服務(wù)的各個(gè)服務(wù)節(jié)點(diǎn)中注入代理節(jié)點(diǎn),通過代理節(jié)點(diǎn)在服務(wù)節(jié)點(diǎn)之間實(shí)現(xiàn)負(fù)載均衡、故障恢復(fù)等通信控制,服務(wù)節(jié)點(diǎn)無需關(guān)注通信細(xì)節(jié),可以更專注于服務(wù)邏輯的開發(fā)。
2、服務(wù)網(wǎng)格從邏輯上分為數(shù)據(jù)平面和控制平面,數(shù)據(jù)平面主要由代理節(jié)點(diǎn)協(xié)調(diào)和控制服務(wù)節(jié)點(diǎn)之間的網(wǎng)絡(luò)通信;控制平面主要由管控節(jié)點(diǎn)管理代理節(jié)點(diǎn)并向代理節(jié)點(diǎn)下發(fā)各種配置信息。在pai(platform?for?ai,人工智能平臺(tái))等大規(guī)模集群場(chǎng)景中,服務(wù)的數(shù)量較多,每個(gè)服務(wù)通常部署在多個(gè)服務(wù)節(jié)點(diǎn)上,這導(dǎo)致代理節(jié)點(diǎn)的數(shù)量較多,可能需要部署多個(gè)大規(guī)格(例如3個(gè)處理器核16g內(nèi)存)的管控節(jié)點(diǎn)來滿足配置信息的推送需求。進(jìn)一步,在微服務(wù)大規(guī)模發(fā)版本的過程中,配置信息的推送會(huì)更加頻繁,這會(huì)大量消耗管控節(jié)點(diǎn)的資源,尤其是內(nèi)存資源,可能會(huì)頻繁出現(xiàn)oom(out?of?memory,內(nèi)存溢出)情況,影響整體系統(tǒng)的穩(wěn)定性。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)的多個(gè)方面提供一種事件推送方法、設(shè)備、存儲(chǔ)介質(zhì)及程序產(chǎn)品,用以降低推送事件對(duì)內(nèi)存資源的消耗,降低出現(xiàn)oom的概率,提高系統(tǒng)穩(wěn)定性。
2、本申請(qǐng)實(shí)施例提供一種事件推送方法,用于向數(shù)量動(dòng)態(tài)可變的目標(biāo)節(jié)點(diǎn)推送聚合事件,所述聚合事件由接收時(shí)間落入聚合窗口中的目標(biāo)事件聚合而成,所述方法包括:在聚合事件推送過程中,響應(yīng)內(nèi)存保護(hù)觸發(fā)事件的發(fā)生,獲取目標(biāo)內(nèi)存資源的實(shí)際使用信息,所述目標(biāo)內(nèi)存資源是推送聚合事件使用的內(nèi)存資源;若根據(jù)所述目標(biāo)內(nèi)存資源的實(shí)際使用信息確定需要觸發(fā)內(nèi)存保護(hù),則增大聚合窗口;對(duì)接收時(shí)間落入增大后的聚合窗口中的目標(biāo)事件進(jìn)行聚合處理,以得到聚合事件;在調(diào)度到所述聚合事件的情況下,基于所述目標(biāo)內(nèi)存資源中的可用內(nèi)存資源,向當(dāng)前存在的目標(biāo)節(jié)點(diǎn)推送所述聚合事件。
3、本申請(qǐng)實(shí)施例還提供一種服務(wù)網(wǎng)格系統(tǒng),包括:管控節(jié)點(diǎn)和數(shù)量動(dòng)態(tài)可變的代理節(jié)點(diǎn),所述代理節(jié)點(diǎn)部署在微服務(wù)系統(tǒng)中的服務(wù)節(jié)點(diǎn)中;所述管控節(jié)點(diǎn),用于向代理節(jié)點(diǎn)推送聚合事件,所述聚合事件由接收時(shí)間落入聚合窗口中的目標(biāo)事件聚合而成;以及在聚合事件推送過程中,響應(yīng)內(nèi)存保護(hù)觸發(fā)事件的發(fā)生,獲取目標(biāo)內(nèi)存資源的實(shí)際使用信息,所述目標(biāo)內(nèi)存資源是所述管控節(jié)點(diǎn)推送聚合事件使用的內(nèi)存資源;若根據(jù)所述目標(biāo)內(nèi)存資源的實(shí)際使用信息確定需要觸發(fā)內(nèi)存保護(hù),則增大聚合窗口,對(duì)接收時(shí)間落入增大后的聚合窗口中的目標(biāo)事件進(jìn)行聚合處理,以得到聚合事件,并在調(diào)度到所述聚合事件的情況下,基于所述目標(biāo)內(nèi)存資源中的可用內(nèi)存資源,向當(dāng)前存在的目標(biāo)節(jié)點(diǎn)推送所述聚合事件。
4、本申請(qǐng)實(shí)施例還提供一種電子設(shè)備,包括:存儲(chǔ)器和處理器;所述存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序,所述處理器與所述存儲(chǔ)器耦合,用于執(zhí)行所述計(jì)算機(jī)程序,以用于實(shí)現(xiàn)所述事件推送方法中的步驟。
5、本申請(qǐng)實(shí)施例還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),包括計(jì)算機(jī)程序/指令,當(dāng)所述計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí),致使所述處理器能夠?qū)崿F(xiàn)所述事件推送方法中的步驟。
6、本申請(qǐng)實(shí)施例還提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,當(dāng)所述計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí),致使所述處理器能夠?qū)崿F(xiàn)所述事件推送方法中的步驟。
7、在本實(shí)施例中,可在聚合事件推送過程中,響應(yīng)內(nèi)存保護(hù)觸發(fā)事件的發(fā)生,獲取目標(biāo)內(nèi)存資源的實(shí)際使用信息;若根據(jù)目標(biāo)內(nèi)存資源的實(shí)際使用信息確定需要觸發(fā)內(nèi)存保護(hù),則增大聚合窗口;對(duì)接收時(shí)間落入增大后的聚合窗口中的目標(biāo)事件進(jìn)行聚合處理得到聚合事件;在調(diào)度到聚合事件的情況下,基于目標(biāo)內(nèi)存資源中的可用內(nèi)存資源,向當(dāng)前存在的目標(biāo)節(jié)點(diǎn)推送聚合事件。通過這種方式,可目標(biāo)內(nèi)存資源的實(shí)際使用信息合理地對(duì)聚合窗口進(jìn)行增大,以增加接收時(shí)間落入聚合窗口中的目標(biāo)事件的數(shù)量,從而降低聚合處理得到的聚合事件的數(shù)量,進(jìn)而減少涉及到的上下文信息的計(jì)算次數(shù),降低內(nèi)存資源的消耗。
1.一種事件推送方法,其特征在于,用于向數(shù)量動(dòng)態(tài)可變的目標(biāo)節(jié)點(diǎn)推送聚合事件,所述聚合事件由接收時(shí)間落入聚合窗口中的目標(biāo)事件聚合而成,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,響應(yīng)內(nèi)存保護(hù)觸發(fā)事件的發(fā)生,獲取目標(biāo)內(nèi)存資源的實(shí)際使用信息,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述目標(biāo)節(jié)點(diǎn)關(guān)聯(lián)目標(biāo)應(yīng)用,所述目標(biāo)事件是所述目標(biāo)應(yīng)用對(duì)應(yīng)的事件,響應(yīng)內(nèi)存保護(hù)觸發(fā)事件的發(fā)生,預(yù)測(cè)推送單個(gè)聚合事件需要消耗的平均內(nèi)存量,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,響應(yīng)內(nèi)存保護(hù)觸發(fā)事件的發(fā)生,根據(jù)所述目標(biāo)應(yīng)用在目標(biāo)時(shí)刻對(duì)應(yīng)的目標(biāo)應(yīng)用規(guī)模信息,預(yù)測(cè)推送單個(gè)聚合事件需要消耗的平均內(nèi)存量,包括:
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)待推送的聚合事件的數(shù)量和所述平均內(nèi)存量,確定所述目標(biāo)內(nèi)存資源的實(shí)際使用信息,包括:
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,還包括:
8.根據(jù)權(quán)利要求1-7任一項(xiàng)所述的方法,其特征在于,還包括:
9.根據(jù)權(quán)利要求1-7任一項(xiàng)所述的方法,其特征在于,增大聚合窗口,包括:
10.根據(jù)權(quán)利要求1-7任一項(xiàng)所述的方法,其特征在于,所述目標(biāo)節(jié)點(diǎn)關(guān)聯(lián)目標(biāo)應(yīng)用,所述目標(biāo)事件是所述目標(biāo)應(yīng)用對(duì)應(yīng)的事件,在獲取目標(biāo)內(nèi)存資源的實(shí)際使用信息之前,還包括:
11.根據(jù)權(quán)利要求1-7任一項(xiàng)所述的方法,其特征在于,所述內(nèi)存保護(hù)觸發(fā)事件包括:內(nèi)存保護(hù)周期到達(dá)事件,和/或,上一次推送聚合事件對(duì)應(yīng)的推送完成事件。
12.一種服務(wù)網(wǎng)格系統(tǒng),其特征在于,包括:管控節(jié)點(diǎn)和數(shù)量動(dòng)態(tài)可變的代理節(jié)點(diǎn),所述代理節(jié)點(diǎn)部署在微服務(wù)系統(tǒng)中的服務(wù)節(jié)點(diǎn)中;
13.一種電子設(shè)備,其特征在于,包括:存儲(chǔ)器和處理器;所述存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序,所述處理器與所述存儲(chǔ)器耦合,用于執(zhí)行所述計(jì)算機(jī)程序,以用于實(shí)現(xiàn)權(quán)利要求1-11中任一項(xiàng)所述方法中的步驟。
14.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,包括計(jì)算機(jī)程序/指令,當(dāng)所述計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí),致使所述處理器能夠?qū)崿F(xiàn)權(quán)利要求1-11中任一項(xiàng)所述方法中的步驟。
15.一種計(jì)算機(jī)程序產(chǎn)品,其特征在于,包括計(jì)算機(jī)程序/指令,當(dāng)所述計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí),致使所述處理器能夠?qū)崿F(xiàn)權(quán)利要求1-11中任一項(xiàng)所述方法中的步驟。