日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Spring Boot應用接入SchedulerX

更新時間:

本文介紹如何將Spring Boot應用接入阿里云的SchedulerX服務,指導您從創建應用入手,配置必要的接入參數,再到Spring Boot項目中進行客戶端的設置和驗證,確保您的應用順利運行在SchedulerX平臺上,實現任務的自動化調度和精準管理。

視頻演示

如需了解Spring Boot應用如何接入SchedulerX的步驟演示,請參見視頻演示

前提條件

  • (可選)創建命名空間。當您的應用有較高的安全要求時,您可通過創建命名空間實現資源和服務的隔離,具體操作請參見創建命名空間

  • 已有SpringBoot項目。

方案概覽

將Spring Boot應用快速接入SchedulerX分為以下幾步:

  1. 創建應用:在阿里云SchedulerX中創建應用,獲取接入SchedulerX配置參數,并對任務進行統一管理和配置。

  2. 客戶端接入SchedulerX:在項目中的properties或者yml中,配置SchedulerxWorker所需要的參數并創建任務處理類,連接指定的SchedulerX應用。

  3. 結果驗證:確認SpringBoot應用接入成功并正常運行。

步驟一:創建應用

1.1基本配置

  1. 登錄分布式任務調度平臺,選擇地域。

  2. 在左側導航欄的應用管理頁面。選擇目標命名空間后,單擊創建應用。輸入應用名應用ID并選擇應用類型,按需設計高級配置,單擊下一步

    image

    重要

    注意在指定地域和命名空間,創建資源信息,確保資源信息準確性。

    配置項

    描述

    默認值

    應用名

    自定義設置應用名稱。

    應用ID

    應用ID為應用接入的GroupID,保證同一個命名空間下唯一,否則將創建失敗,可以和應用名一致。

    應用類型

    • 普通應用:非K8s部署的應用,或者對K8s任務沒有需求。

    • K8s應用:應用通過K8s部署,并且有需求要使用K8s任務。

    普通應用

    版本

    根據需求選擇版本。版本對比請參見產品版本對比

    專業版

    日志服務

    開啟后,增加一個Log4j或Logback的配置,即可在控制臺看到每次任務調度(包括分布式任務)的業務日志,方便排查問題。

    關閉

    load5

    不能超過客戶端機器CPU可用核數

    0

    內存使用率

    表示近5分鐘進程內存平均使用率不能大于該閾值,否則判斷客戶端機器繁忙。

    90%

    磁盤使用率

    表示磁盤使用率不能大于該值,否則判斷客戶端機器不健康,狀態繁忙。

    95%

    是否觸發繁忙機器

    機器繁忙時是否繼續觸發客戶端執行。

    打開

    高級配置

    任務最大數量

    一個分組最多支持的Job數量。

    1000

    自動擴容

    選擇是否自動擴容。開啟時,需要設置全局任務數

    關閉

    流控

    選擇是否流控。開啟時,需要設置任務實例并發數

    關閉

    日歷

    您可在下拉列表中選擇在金融日或者工作日調度應用。

    • 金融日:特指金融業務的交易日。

    • 工作日:社會、組織或個人日常活動中正常工作和經營的日期。

    0

1.2通知配置

  1. 通知配置向導頁填寫相關信息,選擇通知渠道并設置聯系人

    • 通知渠道目前支持短信郵件Webhook電話

      關于Webhook配置的詳細信息,請參見webhook配置說明

    • 通知聯系人支持聯系人組、聯系人兩種方式。

      • 聯系人組

        聯系人組下所有聯系人都可以接收到通知。關于創建聯系人組,請參見創建通知聯系人或通知聯系人組

      • 聯系人

        1. 添加的聯系人可以接收到通知。支持設置多個通知聯系人。添加聯系人后,單擊前往創建聯系人

        image

        1. 在彈出頁面中單擊新建聯系人后,輸入聯系人信息。

        image

        配置項

        描述

        通知渠道

        目前支持短信郵件Webhook電話

        郵件

        輸入通知聯系人的真實郵件地址。

        Webhook

        • 目前支持企業微信、飛書、釘釘三種。且可以同時配置多個Webhook機器人,機器人鏈接用英文逗號(,)分割。

        • 需要在釘釘機器人增加關鍵字“SchedulerX”(區分大小寫),否則會收不到告警信息。22

        • 獲取Webhook的方法請參見釘釘開發文檔企業微信開發文檔飛書開發文檔

        手機號

        輸入聯系人的真實手機號碼。

  2. 驗證

    刷新頁面,確定指定地域和命名空間,查看已創建的應用信息。

步驟二:客戶端接入SchedulerX

  1. 在pom.xml增加依賴配置

    在SpringBoot應用程序的pom.xml文件中添加SchedulerxWorker依賴,以便在Spring Boot應用程序中使用SchedulerX提供的功能。

    說明

    SchedulerX支持SpringBoot2.x和3.x版本接入。

    <dependency>
      <groupId>com.aliyun.schedulerx</groupId>
      <artifactId>schedulerx2-spring-boot-starter</artifactId>
      <version>${schedulerx2.version}</version>
      <!--如果使用logback,需要將log4j和log4j2排除 -->
      <exclusions>
        <exclusion>
          <groupId>org.apache.logging.log4j</groupId>
          <artifactId>log4j-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.logging.log4j</groupId>
          <artifactId>log4j-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
        </exclusion>
      </exclusions>
    </dependency>                   
    重要

    <version>${schedulerx2.version}</version>替換為最新客戶端版本。例如:<version>1.11.5</version>。更多信息,請參見客戶端版本發布記錄

  2. 配置參數

    在SpringBoot應用的配置文件application.properties中添加SchedulerXWorker所需要的參數,例如連接信息、認證信息等,以便連接到SchedulerX應用。

    spring.schedulerx2.endpoint=${endpoint}
    spring.schedulerx2.namespace=${namespace}
    spring.schedulerx2.groupId=${groupId}
    # 1.2.1及以上版本設置appKey
    spring.schedulerx2.appKey=${appKey}
    
    # 1.2.1以下版本設置AK/SK,開啟其他特殊配置(例如配置文件定義任務同步、Spring任務自動同步)也需要額外配置以下參數
    #spring.schedulerx2.aliyunAccessKey=${aliyunAccessKey}
    #spring.schedulerx2.aliyunSecretKey=${aliyunSecretKey}                  

    參數來源:

    分布式任務調度平臺左側導航欄的應用管理頁面,單擊目標應用操作列的接入配置,選擇接入的服務類型為Spring Boot。

    image

    重要

    檢查SchedulerX地域和客戶端地域是否保持一致,否則會造成建立連接失敗。

    若您使用的是非阿里云服務器或本地環境,確保您已開放公網訪問權限,并在任務調度平臺公網地域創建應用。具體信息,可參見在本地接入公網環境

    說明

    如果您的客戶端應用包含多個業務,或者需要將定時任務隔離做權限管理,可以通過在控制臺上創建多個應用,實現定時任務的精細化管理。例如,客戶端應用animals在控制臺上新建了animals.dog和animals.cat兩個應用,無需為兩個應用分別申請實例,只需在配置文件application.properties中,通過配置spring.schedulerx2.groupId=${groupId},并以逗號分隔多個應用來實現,如:spring.schedulerx2.groupId=animals.dog,animals.cat

    參數說明:

    • endpoint:初始化SchedulerxWorker時,將使用您部署應用的地域(Region)和對應的endpoint。更多信息,請參見Endpoint列表

    • namespace:命名空間ID,可以在控制臺的命名空間頁面獲取。1

    • groupId和appKey:groupId應用ID,appKey為應用key,可以在控制臺應用管理頁面獲取。1

    • aliyunAccessKey和aliyunSecretKey:aliyunAccessKey為阿里云賬號的AccessKeyID,aliyunSecretKey為阿里云賬號的AccessKeySecret。您可以登錄用戶信息管理控制臺,在安全信息管理頁面獲取。

    • 更多參數請參見下表:

      key

      描述

      設置值

      起始版本

      spring.schedulerx2.enabled

      是否啟用SchedulerX 2.0的starter。默認為true,無需設置。

      true

      false

      0.1.7

      spring.schedulerx2.endpoint

      設置Region所在的Endpoint。更多信息,請參見Endpoint列表

      0.1.7

      spring.schedulerx2.namespace

      設置命名空間的UID,可以在控制臺命名空間頁面獲取。

      0.1.7

      spring.schedulerx2.groupId

      應用ID,可以在控制臺應用管理頁面獲取。

      0.1.7

      spring.schedulerx2.appKey

      應用Key,可以在控制臺應用管理頁面獲取。

      1.2.1

      spring.schedulerx2.host

      如果有多個IP(例如VPN或者多網卡),可以設置真實的IP。

      0.1.7

      spring.schedulerx2.port

      用戶自定義客戶端監聽端口。如果不設置,則隨機選擇一個可用端口。

      0.1.7

      spring.schedulerx2.blockAppStart

      SchedulerX初始化失敗是否阻塞應用啟動。默認為true。

      true

      false

      1.1.0

      spring.schedulerx2.shareContainerPool

      客戶端所有任務執行是否共享線程池。默認為false。

      true

      false

      1.2.1.2

      spring.schedulerx2.sharePoolSize

      如果開啟共享線程池,可以自定義線程池大小。默認為64。

      1.2.1.2

      spring.schedulerx2.label

      不同客戶端可以設置標簽,任務管理可以指定標簽執行。應用于灰度、壓測等場景。

      1.2.2.2

      spring.schedulerx2.enableCgroupMetrics

      是否使用cgroup統計客戶端實例的指標。容器(K8s)環境需要手動開啟,默認為false。

      true

      false

      1.2.2.2

      spring.schedulerx2.cgroupPathPrefix

      容器內cgroup的路徑。

      默認路徑為/sys/fs/cgroup/cpu/,如果存在該路徑則不需要設置。

      1.2.2.2

      spring.schedulerx2.enableHeartbeatLog

      是否打印心跳日志,${user.home}/logs/schedulerx/heartbeat.log

      默認為true。

      true

      false

      1.2.4

      spring.schedulerx2.mapMasterStatusCheckInterval

      設置Map模型檢測所有子任務結束的頻率,單位毫秒。如果秒級別任務需要加快調度頻率時,可以設置。

      3000

      1.2.5.2

      spring.schedulerx2.enableSecondDelayCycleIntervalMs

      設置second_delay延遲的單位為毫秒。如果將該值設置為true,控制臺設置的秒級別延遲將會變成毫秒,可以加快調度頻率,默認為false。

      true

      false

      1.2.5.2

      spring.schedulerx2.broadcastMasterExecEnable

      主節點是否參與廣播任務執行。默認為true。

      true

      false

      1.8.13

      spring.schedulerx2.broadcastDispatchRetryTimes

      廣播分發失敗重試次數,默認不重試;重試間隔默認2s,且不可配置。

      3

      1.8.13

      spring.schedulerx2.enableSecondDelayStandaloneDispatch

      是否開啟秒級別單機任務分發執行,默認為false。

      true

      false

      1.8.13

  3. 創建任務處理類

    在SpringBoot應用中創建JobProcessor類,實現任務調度。

    下方示例代碼介紹如何定時打印一個簡單的JobProcessor類(示例包名:hello schedulerx2.0)。

    package com.aliyun.schedulerx.test.job;
    
    import com.alibaba.schedulerx.worker.domain.JobContext;
    import com.alibaba.schedulerx.worker.processor.JavaProcessor;
    import com.alibaba.schedulerx.worker.processor.ProcessResult;
    
    @Component
    public class MyHelloJob extends JavaProcessor {
    
        @Override
        public ProcessResult process(JobContext context) throws Exception {
            System.out.println("hello schedulerx2.0");
            return new ProcessResult(true);
        }
    }              

步驟三:結果驗證

登錄分布式任務調度平臺,在左側導航欄的應用管理,單擊目標應用操作列的查看實例,查看實例詳情信息。

image

說明
  • 如果實例總數為0,說明應用接入失敗。請檢查并修改本地應用。

  • 如果實例總數不為0,顯示接入實例個數,說明應用接入成功。

后續步驟

應用接入SchedulerX完成后,即可在分布式任務調度平臺創建調度任務。更多信息,請參見創建調度任務

常見問題

相關文檔

如您想了解其他客戶端接入方式,請參見客戶端快速接入SchedulerX