97精品国产精品公司,久久www免费人成看片中文,天天谢天天干,日韩精品无码专区资源站

首頁(yè) - 關(guān)于研博 - 技術(shù)筆記 - SnailJob - 分布式任務(wù)重試與調(diào)度平臺(tái)
SnailJob - 分布式任務(wù)重試與調(diào)度平臺(tái)
2024.10.21

  1. 簡(jiǎn)介

  1.1 項(xiàng)目介紹

  SnailJob是一個(gè)高效且可靠的開(kāi)源分布式任務(wù)重試和任務(wù)調(diào)度平臺(tái),旨在解決復(fù)雜分布式環(huán)境中的任務(wù)執(zhí)行問(wèn)題。它的設(shè)計(jì)靈感源于對(duì)高可用性、靈活性和性能的追求,能夠幫助企業(yè)提升分布式業(yè)務(wù)系統(tǒng)的整體一致性。通過(guò)SnailJob,您可以輕松創(chuàng)建、管理和監(jiān)控可重試或定時(shí)執(zhí)行的任務(wù),確保業(yè)務(wù)流程的順暢進(jìn)行。

  開(kāi)源地址:https://gitee.com/aizuda/snail-job

  1.2核心功能

  •   可重放的任務(wù):支持任務(wù)結(jié)果的記錄和回溯,便于調(diào)試和排查問(wèn)題。
  •   智能重試策略:自動(dòng)處理失敗任務(wù),可根據(jù)預(yù)設(shè)策略進(jìn)行重試,減少手動(dòng)介入。
  •   分布式任務(wù)調(diào)度:提供秒級(jí)精確定時(shí)任務(wù)調(diào)度,并支持任務(wù)中斷和編排,滿足不同場(chǎng)景需求。
  •   權(quán)限管理:完善的權(quán)限控制機(jī)制,確保操作安全。
  •   告警監(jiān)控:實(shí)時(shí)監(jiān)控任務(wù)狀態(tài),異常時(shí)及時(shí)報(bào)警,保障業(yè)務(wù)穩(wěn)定運(yùn)行。

  1.3 開(kāi)源組件對(duì)比

 

  2. 常用注解

  2.1Retryable注解

 

  2.2ExecutorMethodRegister注解

 

  2.3JobExecutor注解

 

  3. 部署與試用

  3.1 搭建數(shù)據(jù)庫(kù)環(huán)境

  Snail Job支持多種數(shù)據(jù)庫(kù),其中包含Mysql、Mariadb、Postgres、Oracle、MS SQL Server、達(dá)夢(mèng)等??梢詧?zhí)行sql腳本生成相關(guān)表結(jié)構(gòu)也可以使用 docker compse快速構(gòu)建數(shù)據(jù)庫(kù)環(huán)境。以使用docker搭建數(shù)據(jù)庫(kù)環(huán)境為例,打開(kāi)拉下來(lái)的項(xiàng)目代碼

cd ./doc/docker

## 啟動(dòng) mysql

docker compose up -d mysql

  3.2 服務(wù)端配置

  服務(wù)端代碼整體目錄結(jié)構(gòu)如圖所示:

 

  在snail-job-server-sater啟動(dòng)服務(wù)端程序

      application.yml 常用配置

 

  3.3 客戶端配置

 

  注:在啟動(dòng)多個(gè)客戶端時(shí)要配置客戶端端口,否則會(huì)報(bào)地址被占用,在集群模式下只會(huì)有一個(gè)服務(wù)正常訪問(wèn)

  3.4 服務(wù)端web界面

  服務(wù)端啟動(dòng)后,默認(rèn)訪問(wèn)地址為:http://127.0.0.1:8080/snail-job/

 

  3.5 定時(shí)任務(wù)配置

 

  點(diǎn)擊新增新建一個(gè)新的定時(shí)任務(wù)

組名稱:組是一個(gè)邏輯概念, 它可以看做是場(chǎng)景的分類(lèi)或者是標(biāo)簽, 用于將一些相關(guān)性的場(chǎng)景進(jìn)行分組,可以理解為MQ的Topic和Queue的關(guān)系; 服務(wù)端的負(fù)載均衡也是基于組 把不同的組分配到不同的服務(wù)端集群的其中一個(gè)節(jié)點(diǎn)。

 

  客戶端的group為已經(jīng)配置好的組名

       執(zhí)行器名稱:執(zhí)行任務(wù)的方法名稱

 

  任務(wù)類(lèi)型:

  •   集群模式: 當(dāng)客戶端部署節(jié)點(diǎn)數(shù)>=1時(shí),同一時(shí)間只會(huì)在一個(gè)節(jié)點(diǎn)執(zhí)行任務(wù),確保任務(wù)的單一執(zhí)行性。
  •   廣播模式: 每次任務(wù)觸發(fā)時(shí),所有活躍的客戶端都會(huì)執(zhí)行一次任務(wù),實(shí)現(xiàn)任務(wù)的廣泛觸達(dá)和執(zhí)行。
  •   分片模式: 按照預(yù)定的分片數(shù)量,輪詢地將任務(wù)依次下發(fā)給活躍的客戶端,實(shí)現(xiàn)任務(wù)的分布式處理和優(yōu)化執(zhí)行。

  路由策略:

  •   輪詢: 輪詢路由策略是一種簡(jiǎn)單而有效的方法,按照順序依次將任務(wù)分發(fā)給不同的節(jié)點(diǎn),確保任務(wù)在集群中平均分布,達(dá)到負(fù)載均衡的效果。
  •   一致性Hash: 一致性Hash路由策略基于哈希函數(shù),將任務(wù)和節(jié)點(diǎn)映射到一個(gè)固定的哈希環(huán)上。這樣,當(dāng)有新的節(jié)點(diǎn)加入或節(jié)點(diǎn)離開(kāi)時(shí),只需重新計(jì)算少量的映射關(guān)系,而不會(huì)影響到大部分任務(wù)的分配。這種策略保持了相對(duì)的穩(wěn)定性和負(fù)載均衡。
  •   隨機(jī): 隨機(jī)路由策略是將任務(wù)隨機(jī)分配給集群中的一個(gè)節(jié)點(diǎn)。每次任務(wù)觸發(fā)時(shí),系統(tǒng)會(huì)隨機(jī)選擇一個(gè)節(jié)點(diǎn)來(lái)執(zhí)行任務(wù)。盡管簡(jiǎn)單,但也具有一定的負(fù)載均衡效果,適用于某些場(chǎng)景下的隨機(jī)化需求。
  •   LRU (Least Recently Used): LRU路由策略基于最近使用的原則,將任務(wù)分配給最近最少被使用的節(jié)點(diǎn)。這種策略保持了節(jié)點(diǎn)的活躍性,避免任務(wù)集中在某個(gè)節(jié)點(diǎn)上執(zhí)行,從而提高系統(tǒng)的性能和穩(wěn)定性。

  阻塞策略:

  •   丟棄策略: 丟棄策略是一種簡(jiǎn)單的阻塞策略,當(dāng)處理速度無(wú)法跟上任務(wù)批次的產(chǎn)生速度時(shí),新產(chǎn)生任務(wù)批次將被直接丟棄,從而保持系統(tǒng)的穩(wěn)定性。
  •   覆蓋策略: 覆蓋策略是指當(dāng)新的任務(wù)批次產(chǎn)生時(shí),如果上一個(gè)任務(wù)批次仍在處理中,將產(chǎn)生一個(gè)新的批次覆蓋掉正在處理的批次,系統(tǒng)開(kāi)始處理新的批次。
  •   并行策略: 并行策略允許系統(tǒng)同時(shí)處理多個(gè)批次,無(wú)需等待前一個(gè)批次處理完成。這種策略可以提高系統(tǒng)的處理能力,但需要考慮線程安全和資源競(jìng)爭(zhēng)等問(wèn)題。

  我們配置的為切片類(lèi)型,因此在配置完定時(shí)任務(wù)后,我們啟動(dòng)兩個(gè)不同端口的客戶端,分組名為job_demo,點(diǎn)擊執(zhí)行該定時(shí)任務(wù),兩個(gè)客戶端會(huì)收到不同的分片參數(shù),如圖所示

 

  3.6工作流

  可以通過(guò)工作流執(zhí)行定時(shí)任務(wù),以上文的切片任務(wù)為例

 

  在創(chuàng)建完定時(shí)任務(wù)后,客戶端以十秒一次執(zhí)行切片任務(wù),結(jié)果如下圖所示

  

 

獲取相關(guān)資料
下載地址將會(huì)發(fā)送至您填寫(xiě)的郵箱
相關(guān)新聞
水文SL651協(xié)議解析
2025-01-17
JT/T808 協(xié)議解析
2025-01-10
環(huán)保HJ212-2017協(xié)議介紹開(kāi)發(fā)
2025-01-03
  • 在線客服
  • 電話咨詢
  • 微信
  • 短視頻
  • 亚洲AV一三| 欧美激情四射麻豆| 97se狠狠狠狠狼鲁亚洲综合色| 青青青国产衣人在线观看| 国产精品色综合久久| 日韩乱伦熟女| 亚洲日韩中文字幕在线不卡最新| 国产精品久久久久久久一级无码| 欧美a区中文字幕| 亚洲抻入高清观看| 四虎久久老女人| 亚洲wwww| 天天做天天爱天天爽天天综合| 中文字幕无码免费久久9一区9| 97免费在线视频| 综合久久久精品| 国产精品禁18久久久夂久| 国产精品乱码久久久久| 亚洲啪啪。| 91桃色视频| Aⅴ综合| 69人XXXX69| 久久夜色撩人精品国产AV| 无码狠狠躁久久久久久久网址| 黄色视频综合网| 无禁网站免费观看| 亚洲精品欧美精品日韩精品| 精品国产欧美一区二区三区不卡| 国产精品综合日本欧美| 臀插穴国产日韩欧美| 日韩三级黄,色| 成人 无码 日韩| 亚洲精品天堂久久久无码| 亚洲 日韩 制服| 亚洲三区国产精品| 东京热视频乱伦| 欧美日韩精品乱国产| GOGO999亚洲| 欧美高清一区三区在线专区| 国产第一页久久亚洲| 99久久www免费人成精品|