自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Openjob,分布式任務(wù)調(diào)度框架

開發(fā) 架構(gòu)
本文從多方面介紹名為Openjob的基于Akka的分布式任務(wù)調(diào)度框架,希望能為讀者提供全面的了解和參考。

1 什么是Openjob

Openjob是一種基于Akka的新分布式任務(wù)調(diào)度框架。支持多種cronjob、延遲任務(wù)和工作流,使用一致性分片算法,具備無限的水平擴(kuò)展。

圖片

2 特性

Openjob不僅支持基本的cronjob,還支持延遲任務(wù)、分布式計(jì)算和工作流。

2.1 Cronjob

Openjob支持Cronjob任務(wù)調(diào)度,具備以下特點(diǎn):

  • 支持Unix Crontab表達(dá)式
  • 秒級別,執(zhí)行周期小于60秒
  • 固定頻率,以分鐘為單位執(zhí)行任務(wù)

圖片

2.2 延遲任務(wù)

Openjob支持基于Redis的分布式高性能延遲任務(wù),并提供豐富的報(bào)告和統(tǒng)計(jì)信息,這種延遲任務(wù)能夠保證高效、可靠地執(zhí)行。

2.3 分布式計(jì)算

Openjob支持分布式計(jì)算,可實(shí)現(xiàn)以下功能:

  • 獨(dú)立執(zhí)行:任務(wù)可在工作客戶端上獨(dú)立執(zhí)行。
  • 廣播執(zhí)行:任務(wù)可在所有工作客戶端上廣播執(zhí)行。
  • 映射執(zhí)行:映射函數(shù)可以將大數(shù)據(jù)分發(fā)到多臺機(jī)器上執(zhí)行,類似于Hadoop map
  • MapReduce:MapReduce是Map的擴(kuò)展。在所有Map子任務(wù)完成后,執(zhí)行Reduce方法,可以在Reduce方法中處理任務(wù)執(zhí)行的結(jié)果和數(shù)據(jù)。
  • 分片:類似于Elastic-Job模型,在管理上配置分片數(shù),可以通過分片調(diào)度到不同的客戶端,并支持多種語言。

圖片

2.4 處理器

Openjob提供處理器功能,可通過函數(shù)或類執(zhí)行任務(wù),支持Java、Golang和PH語言。同時,還支持以下處理器類型:

  • HTTP:可用于定期請求HTTP。
  • Shell:可用于執(zhí)行shell腳本。

2.5 可視化操作

Openjob提供可視化操作功能,包含以下內(nèi)容:

  • 儀表板:提供豐富的任務(wù)統(tǒng)計(jì)和報(bào)告功能,方便用戶對任務(wù)執(zhí)行情況進(jìn)行實(shí)時監(jiān)控和分析。
  • 任務(wù)歷史記錄:記錄任務(wù)執(zhí)行的歷史記錄,方便用戶查看任務(wù)的執(zhí)行情況和結(jié)果。
  • 任務(wù)日志:提供完整的任務(wù)日志,并支持存儲到H2、Mysql、Elasticsearch等多種數(shù)據(jù)庫中,方便用戶查詢和分析任務(wù)執(zhí)行的詳細(xì)信息。
  • 任務(wù)運(yùn)行棧:詳細(xì)記錄任務(wù)執(zhí)行的棧信息,方便用戶排查任務(wù)執(zhí)行中的問題和錯誤。

圖片

2.6 警報(bào)和權(quán)限

Openjob提供警報(bào)和權(quán)限管理功能,包括以下內(nèi)容:

  • 提供任務(wù)事件監(jiān)控警報(bào)、詳細(xì)的警報(bào)歷史記錄,并支持微信、飛書和Webhook觸發(fā)器通知。
  • 設(shè)計(jì)有命名空間,支持按按鈕級別訪問控制,方便用戶對復(fù)雜項(xiàng)目進(jìn)行管理和維護(hù)。

2.7 多種語言

Openjob支持多種語言和框架,包括以下內(nèi)容:

  • Java和其框架:原生支持。
  • Go:支持使用go mod install命令來管理Go語言的依賴。
  • PHP:支持使用Golang代理以shell模式執(zhí)行任務(wù),同時支持Swoole框架的composer install命令。
  • Python支持使用Golang代理以shell模式執(zhí)行任務(wù),方便用戶使用Python語言編寫任務(wù)。

3 應(yīng)用場景

Openjob非常適用于具有任務(wù)調(diào)度和延遲任務(wù)的業(yè)務(wù)場景,例如每天清理數(shù)據(jù)和生成報(bào)告。它還適用于輕量級計(jì)算,通過Map/MapReduce可以方便地進(jìn)行大數(shù)據(jù)計(jì)算。對于復(fù)雜的任務(wù)流或工作流,Openjob也提供了相應(yīng)的UI設(shè)計(jì)工具,方便用戶進(jìn)行可視化的流程設(shè)計(jì)和管理。因此,Openjob是一個功能強(qiáng)大、靈活性高的分布式任務(wù)調(diào)度框架,適用于各種規(guī)模和類型的業(yè)務(wù)場景。

責(zé)任編輯:武曉燕 來源: Java學(xué)研大本營
相關(guān)推薦

2019-11-15 10:16:27

分布式任務(wù)框架

2020-09-29 19:20:05

鴻蒙

2023-05-08 16:38:46

任務(wù)調(diào)度分布式任務(wù)調(diào)度

2020-11-06 12:12:35

HarmonyOS

2022-06-20 15:32:55

Stage模型分布式開發(fā)

2022-06-13 07:43:21

分布式Spring

2019-07-19 15:51:11

框架選型分布式

2021-11-10 16:10:18

鴻蒙HarmonyOS應(yīng)用

2024-02-19 00:00:00

分布式定時任務(wù)框架

2020-06-23 10:22:58

GitHub代碼開發(fā)者

2022-08-09 08:40:37

框架分布式定時任務(wù)

2024-09-03 08:14:34

2024-09-23 04:00:00

java架構(gòu)分布式系統(tǒng)

2024-05-23 10:19:57

2021-11-29 08:48:00

K8S KubernetesAirflow

2021-08-16 09:55:41

鴻蒙HarmonyOS應(yīng)用

2023-04-19 16:51:54

分布式Primus開源

2021-05-31 20:24:16

鴻蒙HarmonyOS應(yīng)用

2017-08-22 11:10:44

大數(shù)據(jù)分布式調(diào)度

2017-07-26 14:55:32

分布式技術(shù)架構(gòu)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號