本發明涉及灰度發布,尤其涉及一種業務灰度處理方法、裝置、設備及存儲介質。
背景技術:
1、灰度發布是指一種在黑與白之間能夠平滑過渡的發布方式,基于系統穩定性和快速業務迭代的綜合考慮,業務應用開發團隊采取了新版本服務灰度上線的方式,即新版本服務并非全量發布到線上環境,而是發布少數幾個實例進行灰度驗證,沒有問題后再全量發布。灰度發布可以保證整體系統的穩定,在初始灰度發布時就可以發現及調整問題,以保證其影響度。現有的灰度發布方案主要有abtest、金絲雀發布、滾動發布等。
2、但是使用abtest方式的灰度發布策略通常依賴上下游服務鏈路的打通,比如基于網關或者微服務的請求鏈路,需要實現不同分流策略的負載均衡功能,通常通過從請求參數或者header里獲取相關參數進行映射到灰度的服務,同時把當前流量轉發到此服務節點上,這種方式依賴基礎架構的統一實現,對于非標準的服務則無法實現流量標識的傳遞。
3、上述內容僅用于輔助理解本發明的技術方案,并不代表承認上述內容是現有技術。
技術實現思路
1、本發明的主要目的在于提供一種業務灰度處理方法、裝置、設備及存儲介質,旨在解決現有技術業務系統依賴基礎架構的統一實現,對于非標準的服務則無法實現流量標識的傳遞的技術問題。
2、為實現上述目的,本發明提供了一種業務灰度處理方法,所述業務灰度處理方法包括以下步驟:
3、在接收到業務訪問請求時,根據所述業務訪問請求確定用戶流量標識;
4、根據配置內容數據和所述用戶流量標識進行名單比對確定目標業務處理程序;
5、調用內嵌的灰度發布程序將所述業務訪問請求輸入到目標業務處理程序。
6、可選地,所述根據配置內容數據和所述用戶流量標識進行名單比對之前,還包括:
7、獲取預設測試標識、灰度總比例、業務灰度比例區間和黑白名單列表;
8、將所述預設測試標識、預設灰度總比例、預設業務灰度比例區間和預設黑白名單列表按照目標格式進行拼接,得到目標配置內容;
9、根據所述目標配置內容確定配置內容數據。
10、可選地,所述根據配置內容數據和所述用戶流量標識進行名單比對確定目標業務處理程序,包括:
11、根據所述配置內容數據確定所述用戶流量標識是否命中黑名單和白名單;
12、在所述用戶流量標識命中所述黑名單時,確定非灰度業務程序為目標業務處理程序;
13、在所述用戶流量標識命中所述白名單時,確定灰度業務程序為目標業務處理程序。
14、可選地,,所述根據所述配置內容數據確定所述用戶流量標識是否命中黑名單和白名單之后,還包括:
15、在所述用戶流量標識未命中所述黑名單和所述白名單時,根據所述配置內容數據確定是否配置灰度比例;
16、在已配置灰度比例時,根據所述用戶流量標識進行分割測試類型判斷;
17、根據判斷結果確定目標業務處理程序。
18、可選地,所述根據判斷結果確定目標業務處理程序,包括:
19、根據判斷結果確定所述用戶流量標識對應的當前權重值;
20、根據所述配置內容數據確定所述用戶流量標識對應的目標灰度比例區間;
21、將所述當前權重值與所述目標灰度比例區間對比,根據對比結果確定目標業務處理程序。
22、可選地,所述根據判斷結果確定所述用戶流量標識對應的當前權重值,包括:
23、根據所述配置內容數據確定目標灰度總比例;
24、在所述用戶流量標識為分割測試類型時,根據所述目標灰度總比例對所述用戶流量標識進行取模得到當前權重值;
25、在所述用戶流量標識不為分割測試類型時,根據所述目標灰度總比例隨機生成當前權重值。
26、可選地,所述調用內嵌的灰度發布程序將所述業務訪問請求輸入到目標業務處理程序之后,還包括:
27、在接收到服務回滾指令時,根據所述服務回滾指令修改配置內容數據;
28、將修改后的配置內容數據發送到所述灰度發布模組實現業務回滾。
29、此外,為實現上述目的,本發明還提出一種業務灰度處理裝置,所述業務灰度處理裝置包括:
30、標識獲取模塊,用于在接收到業務訪問請求時,根據所述業務訪問請求確定用戶流量標識;
31、負載均衡模塊,用于根據配置內容數據和所述用戶流量標識進行名單比對確定目標業務處理程序;
32、業務分流模塊,用于調用內嵌的灰度發布程序將所述業務訪問請求輸入到目標業務處理程序。
33、此外,為實現上述目的,本發明還提出一種業務灰度處理設備,所述業務灰度處理設備包括:存儲器、處理器及存儲在所述存儲器上并在所述處理器上運行的業務灰度處理程序,所述業務灰度處理程序配置為實現如上文所述的業務灰度處理方法。
34、此外,為實現上述目的,本發明還提出一種存儲介質,所述存儲介質上存儲有業務灰度處理程序,所述業務灰度處理程序被處理器執行時實現如上文所述的業務灰度處理方法。
35、本發明在接收到業務訪問請求時,根據所述業務訪問請求確定用戶流量標識;根據配置內容數據和所述用戶流量標識進行名單比對確定目標業務處理程序;調用內嵌的灰度發布程序將所述業務訪問請求輸入到目標業務處理程序。通過這種方式,實現了在接到業務訪問請求時基于預先配置的配置內容數據進行名單比對,最后調用嵌入式的灰度發布模組配合與業務類型無關的配置方法,大大提高灰度發布的靈活性。
1.一種業務灰度處理方法,其特征在于,所述業務灰度處理方法包括:
2.如權利要求1所述的業務灰度處理方法,其特征在于,所述根據配置內容數據和所述用戶流量標識進行名單比對之前,還包括:
3.如權利要求1所述的業務灰度處理方法,其特征在于,所述根據配置內容數據和所述用戶流量標識進行名單比對確定目標業務處理程序,包括:
4.如權利要求3所述的業務灰度處理方法,其特征在于,所述根據所述配置內容數據確定所述用戶流量標識是否命中黑名單和白名單之后,還包括:
5.如權利要求4所述的業務灰度處理方法,其特征在于,所述根據判斷結果確定目標業務處理程序,包括:
6.如權利要求5所述的業務灰度處理方法,其特征在于,所述根據判斷結果確定所述用戶流量標識對應的當前權重值,包括:
7.如權利要求1至6中任意一項所述的業務灰度處理方法,其特征在于,所述調用內嵌的灰度發布程序將所述業務訪問請求輸入到目標業務處理程序之后,還包括:
8.一種業務灰度處理裝置,其特征在于,所述業務灰度處理裝置包括:
9.一種業務灰度處理設備,其特征在于,所述業務灰度處理設備包括:存儲器、處理器及存儲在所述存儲器上并在所述處理器上運行的業務灰度處理程序,所述業務灰度處理程序配置為實現如權利要求1至7中任一項所述的業務灰度處理方法。
10.一種存儲介質,其特征在于,所述存儲介質上存儲有業務灰度處理程序,所述業務灰度處理程序被處理器執行時實現如權利要求1至7任一項所述的業務灰度處理方法。