本文介紹如何為任務指定標簽。
應用場景
主要應用在灰度、壓測等場景。同一個應用分組下的機器,部分機器可能要用于灰度或者壓測,任務實現類和線上其他機器不一致。任務調度時,機器為隨機分配,所以灰度任務被分配到正常機器時,可能無法找到實現類。
傳統解決方案
傳統解決方案下,往往會創建多個應用分組,例如為灰度機器專門配置一個Group ID。但這種解決方案具有以下局限性。
- 正常的任務無法調度到灰度機器。灰度任務流量較小,專門創建用于處理灰度任務的機器會導致浪費資源。
- 上線路徑復雜。灰度任務測試完成后,最后需要上線調度到所有線上機器中。但該任務已經配置在灰度分組中,因此需要在原來線上的分組再次重建任務,并將該灰度任務刪除。
指定標簽的解決方案
注冊SchedulerX客戶端時支持指定標簽。本文以Spring Boot接入為例,配置信息如下。更多信息,請參見Spring Boot應用接入SchedulerX。
spring.schedulerx2.label=gray
步驟一:驗證標簽注冊成功。
- 登錄EDAS控制臺。
- 在左側導航欄單擊任務調度。
- 在頂部菜單欄選擇地域。
- 在應用管理的操作列,單擊查看實例。在連接實例頁面的標簽列驗證標簽是否注冊成功。
步驟二:指定任務運行在標簽為gray的機器上
- 登錄EDAS控制臺。
- 在左側導航欄單擊任務調度。
- 在頂部菜單欄選擇地域。
- 在左側導航欄選擇任務管理。
- 在任務管理的操作列,單擊目標任務的,然后單擊指定機器。
- 在指定機器頁面,選擇指定類型為標簽,勾選對應的機器,單擊確定。
灰度驗證通過后,所有機器都將上線新的任務實現類。可將指定標簽刪除,實現動態生效。