97精品国产精品公司,婷婷五月在线,出轨部长的人妻,99久久精品全部

首頁(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日韩AV永久无码下载| 88精品一区二区三区视频| 波多野42部激情无码喷潮| 久久无码人妻精品| 国产成人18黄网站免费观看按摩| 欧美日韩二三级| 国产夫妻对白清晰| 国产传媒一区| 久久伊人久久亚洲综合| 亚洲伊人情人综合网站| 亚洲国产波多野结衣在线| 色婷婷综合色图| 午夜福利成人毛片中文字幕| 日本欧美亚洲国产| 素人妻AV| 亚洲一区污在线日韩| 无码人妻aⅴ免费| 久久夜色撩人精品国产AV| 精品三级久久久久电影网| 亚洲精品v欧美精品动漫精品 | 无码一二三区| 草久在线资源站| 亚洲曰韩精品无码专区| “人妻色”| www亚洲成人av| 国产成人精品一区二区三区| 国产精品免费热播| 麻豆精产三产区区别| 五月婷婷丁香在线观看| 亚洲精品无码久久久影院男| 后入少妇视频| 呦呦福利在线| 92精品午夜福利| 亚洲综合另类一区无码| 绝对真实国产乱| 久久精品成人免费国产片小草| 口爆吞精视频| 国产在线自偷| 免费在线视频日韩|