本申請涉及數(shù)據(jù)處理,尤其涉及一種服務(wù)調(diào)用方法、裝置、電子設(shè)備、存儲介質(zhì)及程序產(chǎn)品。
背景技術(shù):
1、隨著電子技術(shù)的發(fā)展,微服務(wù)系統(tǒng)的應(yīng)用原來越廣泛。微服務(wù)系統(tǒng)可以多個服務(wù),各個服務(wù)之間可以相互調(diào)用。每個服務(wù)具有一個或多個實例,考慮到每個實例的數(shù)據(jù)處理能力是有限的,通過增加實例數(shù)量,可以提高服務(wù)的并行處理能力。但隨著實例數(shù)量的增加,微服務(wù)系統(tǒng)的管理難度隨之增大。
技術(shù)實現(xiàn)思路
1、本申請實施例提供了一種服務(wù)調(diào)用方法、裝置、電子設(shè)備、存儲介質(zhì)及程序產(chǎn)品,可以避免感知滯后導(dǎo)致的錯誤調(diào)用已刪除的服務(wù)實例。
2、第一方面,本申請實施例提供了一種服務(wù)調(diào)用方法,包括:
3、對第一實例集合中的第一服務(wù)實例進行刪除,所述第一服務(wù)實例為預(yù)設(shè)服務(wù)集合的服務(wù)中,處于限流狀態(tài)的服務(wù)實例;
4、若檢測到第一服務(wù)發(fā)起的針對第二服務(wù)的調(diào)用請求,確定屬于所述第二服務(wù)的第二實例集合,所述第一服務(wù)和所述第二服務(wù)為所述預(yù)設(shè)服務(wù)集合中的不同服務(wù);
5、刪除所述第二實例集合中與所述第一實例集合相同的服務(wù)實例,得到目標實例集合;
6、在所述目標實例集合中確定待調(diào)用的目標實例,基于所述目標實例響應(yīng)所述調(diào)用請求。
7、第二方面,本申請實施例提供了一種服務(wù)調(diào)用裝置,包括:
8、刪除單元,用于對第一實例集合中的第一服務(wù)實例進行刪除,所述第一服務(wù)實例為預(yù)設(shè)服務(wù)集合的服務(wù)中,處于限流狀態(tài)的服務(wù)實例;
9、確定單元,用于若檢測到第一服務(wù)發(fā)起的針對第二服務(wù)的調(diào)用請求,確定屬于所述第二服務(wù)的第二實例集合,所述第一服務(wù)和所述第二服務(wù)為所述預(yù)設(shè)服務(wù)集合中的不同服務(wù);
10、所述刪除單元,還用于刪除所述第二實例集合中與所述第一實例集合相同的服務(wù)實例,得到目標實例集合;
11、所述確定單元,還用于在所述目標實例集合中確定待調(diào)用的目標實例,基于所述目標實例響應(yīng)所述調(diào)用請求。
12、第三方面,本申請實施例提供了一種電子設(shè)備,包括:處理器;以及,被配置為存儲計算機可執(zhí)行指令的存儲器,所述計算機可執(zhí)行指令在被執(zhí)行時使所述處理器執(zhí)行如第一方面所述的服務(wù)調(diào)用方法。
13、第四方面,本申請實施例提供了一種計算機可讀存儲介質(zhì),用于存儲計算機可執(zhí)行指令,所述計算機可執(zhí)行指令在被處理器執(zhí)行時實現(xiàn)如第一方面所述的服務(wù)調(diào)用方法。
14、第五方面,本申請實施例提供了一種計算機程序產(chǎn)品,包括計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)如第一方面的服務(wù)調(diào)用方法。
15、可以看出,在本申請實施例中,首先,對第一實例集合中的第一服務(wù)實例進行刪除,第一服務(wù)實例為預(yù)設(shè)服務(wù)集合中,處于限流狀態(tài)的服務(wù)實例;然后,若檢測到第一服務(wù)發(fā)起的針對第二服務(wù)的調(diào)用請求,確定屬于第二服務(wù)的第二實例集合,第一服務(wù)和第二服務(wù)為預(yù)設(shè)服務(wù)集合中的不同服務(wù);接著,刪除第二實例集合中與第一實例集合相同的服務(wù)實例,得到目標實例集合;最后,在目標實例集合中確定待調(diào)用的目標實例,基于目標實例響應(yīng)調(diào)用請求。以此,通過對預(yù)設(shè)服務(wù)集合中處于限流狀態(tài)的服務(wù)實例進行刪除,可以使得實際已刪除的服務(wù)實例在刪除之前均處于限流狀態(tài),在第一服務(wù)調(diào)用第二服務(wù)的過程中,需要從屬于第二服務(wù)的服務(wù)實例中選擇一個待調(diào)用的目標實例,考慮到第一服務(wù)和第二服務(wù)可能存在不同服務(wù)之間的感知滯后,故獲取的屬于第二服務(wù)的第二實例集合有可能包括實際已刪除的服務(wù)實例,通過刪除第二實例集合中與第一實例集合相同的服務(wù)實例,得到目標實例集合,可以將第二實例集合中的第一服務(wù)實例排除掉,即目標實例集合不包括任意處于限流狀態(tài)的服務(wù)實例,這樣一來,無論第二實例集合是否包括實際已刪除的服務(wù)實例,通過排除掉處于限流狀態(tài)的服務(wù)實例,可以保證目標實例集合不包括任意實際已刪除的服務(wù)實例,進而,在目標實例集合中確定待調(diào)用的目標實例,可以避免感知滯后導(dǎo)致的錯誤調(diào)用已刪除的服務(wù)實例。
1.一種服務(wù)調(diào)用方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一實例集合通過如下方式更新:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述刪除所述第二實例集合中與所述第一實例集合相同的服務(wù)實例,得到目標實例集合,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述在所述目標實例集合中確定待調(diào)用的目標實例,包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述刪除所述第二實例集合中與所述第一實例集合相同的服務(wù)實例,得到目標實例集合,包括:
8.一種電子設(shè)備,其特征在于,包括:
9.一種計算機可讀存儲介質(zhì),其特征在于,所述計算機可讀存儲介質(zhì)用于存儲計算機可執(zhí)行指令,所述計算機可執(zhí)行指令在被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1至7中任一項所述的服務(wù)調(diào)用方法。
10.一種計算機程序產(chǎn)品,其特征在于,包括計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1至7任一項所述的服務(wù)調(diào)用方法。