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

為什么說 PowerJob 是新一代分布式任務(wù)調(diào)度框架?

開發(fā) 架構(gòu)
技術(shù)發(fā)展到現(xiàn)在,主流的任務(wù)調(diào)度框架已經(jīng)可以滿足 90% 以上的使用場景了。新一代的任務(wù)調(diào)度框架,一定要具備解決復(fù)雜業(yè)務(wù)問題的能力,而且性能也要更加優(yōu)秀,使用簡單靈活。從這些方面講,PowerJob 可以稱得上是新一代的分布式任務(wù)調(diào)度框架了。

大家好,我是君哥。

主流的任務(wù)調(diào)度框架并不少,比如 Quartz、Spring Batch、xxl-job、PowerJob 等。PowerJob 被稱為是全新一代分布式任務(wù)調(diào)度與計算框架,今天來聊一聊這個框架。

1.使用簡單

PowerJob 的使用非常簡單,搭建 PowerJob 環(huán)境,可以采用容器或 jar 包方式進行部署。使用容器方式更簡單一些??梢詤⒖脊俜降娜萜鞑渴鸱椒ǎ?/p>

https://www.yuque.com/powerjob/guidence/docker-compose

這里我采用本地啟動工程的方式來進行講解。首先下載 PowerJob 源碼,命令如下:

git clone https://github.com/PowerJob/PowerJob.git

下載到本地后用 idea 打開,powerjob-server 就是 PowerJob 的服務(wù)端源碼。編譯通過后,修改數(shù)據(jù)庫連接信息,如下圖:

圖片

修改完成后,就可以啟動服務(wù)了。這是一個 Springboot 工程,啟動類在 PowerJobServerApplication.java。

服務(wù)啟動后,在瀏覽器輸入地址 ,就可以訪問了。

http://localhost:7700/

先創(chuàng)建一個用戶,然后登錄進去,再創(chuàng)建一個應(yīng)用,就可以體驗了。

圖片創(chuàng)建應(yīng)用圖片應(yīng)用列表圖片進入應(yīng)用

可以看到,Powerjob 的使用真的是非常簡單。

2.產(chǎn)品對比

下圖來自 PowerJob 官網(wǎng),是 PowerJob 跟同類產(chǎn)品的對比。

圖片

2.1 定時任務(wù)

新建一個任務(wù),如下圖:圖片

從最新版本的配置界面看,PowerJob 定時任務(wù)支持 6 種,如下圖:

圖片

除了常見的 API、CRON、固定頻率、固定延遲外,PowerJob 還支持工作流和每日固定間隔這 2 個方式。下圖是每日固定間隔的配置:

圖片

PowerJob 引入工作流類型的定時任務(wù),支持在線配置任務(wù)依賴關(guān)系(DAG),以可視化的方式對任務(wù)進行編排,同時還支持上下游任務(wù)間的數(shù)據(jù)傳遞,以及多種節(jié)點類型(判斷節(jié)點 & 嵌套工作流節(jié)點)。工作流管理見下圖:

圖片

2.2 生命周期

生命周期的配置在很多業(yè)務(wù)場景下是比較有用的。比如跟一個三方公司的合作時間是 1 年,一年后任務(wù)自動停止。

2.3 調(diào)度方式

在調(diào)度方式上,PowerJob 摒棄了傳統(tǒng)調(diào)度框架基于數(shù)據(jù)庫鎖的設(shè)計,采用無鎖化的設(shè)計方式,性能大幅度提升。

2.4 執(zhí)行配置

在執(zhí)行配置方面,PowerJob 支持單機執(zhí)行、廣播執(zhí)行、Map 執(zhí)行、MapReduce 執(zhí)行。

單機執(zhí)行表示只有一個節(jié)點執(zhí)行任務(wù),廣播執(zhí)行則是所有節(jié)點都執(zhí)行這個任務(wù)。

Map 執(zhí)行表示將數(shù)據(jù)拆分成多個子任務(wù),交給多個分布式節(jié)點進行執(zhí)行,以提高執(zhí)行效率。

MapReduce 執(zhí)行是使用 MapReduce 的大數(shù)據(jù)處理能力,通過分組計算然后合并來提升執(zhí)行效率,主要用于復(fù)雜的大數(shù)據(jù)場景。

2.5 運行時配置

運行時配置支持 HEALTH_FIRST、RANDOM 和 SPCIFY 三種類型。HEALTH_FIRST 會查找第一個健康的節(jié)點來運行。RANDOM 表示隨機選擇一個節(jié)點來運行。SPCIFY 則是指定一個節(jié)點來運行。

圖片

2.6 數(shù)據(jù)庫支持

PowerJob 支持任意 Spring Data Jpa支持的關(guān)系型數(shù)據(jù)庫,只需要修改配置文件就可以使用。

2.7 監(jiān)控告警

任務(wù)調(diào)度往往有很多大數(shù)據(jù)和批量作業(yè)的需求,這些需求對業(yè)務(wù)來說非常重要,出問題后影響范圍也比較大 。能通過監(jiān)控告警及時讓運維和研發(fā)感知到任務(wù)執(zhí)行結(jié)果是很有必要的。

PowerJob 支持郵件告警,并通過接口來提供擴展,使用的公司可以擴展接入自己的 OA 消息,方便地通知到責任人。

3.總結(jié)

技術(shù)發(fā)展到現(xiàn)在,主流的任務(wù)調(diào)度框架已經(jīng)可以滿足 90% 以上的使用場景了。新一代的任務(wù)調(diào)度框架,一定要具備解決復(fù)雜業(yè)務(wù)問題的能力,而且性能也要更加優(yōu)秀,使用簡單靈活。從這些方面講,PowerJob 可以稱得上是新一代的分布式任務(wù)調(diào)度框架了。

責任編輯:武曉燕 來源: 君哥聊技術(shù)
相關(guān)推薦

2020-06-23 10:22:58

GitHub代碼開發(fā)者

2023-05-08 16:38:46

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

2023-06-26 00:14:28

Openjob分布式任務(wù)

2020-12-14 14:24:07

CAP分布式數(shù)據(jù)一致性

2025-04-18 12:08:19

2019-11-15 10:16:27

分布式任務(wù)框架

2020-09-29 19:20:05

鴻蒙

2019-07-19 15:51:11

框架選型分布式

2020-10-13 18:12:30

分布式云云計算Gartner

2021-11-10 16:10:18

鴻蒙HarmonyOS應(yīng)用

2009-06-25 17:14:59

JSF框架

2020-11-06 12:12:35

HarmonyOS

2021-07-15 11:16:31

Spring WebWebFlux架構(gòu)

2024-07-31 08:18:40

2018-04-26 18:23:37

華為

2025-04-25 09:00:00

2024-09-23 04:00:00

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

2024-06-26 12:45:00

2022-06-20 15:32:55

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

2022-06-13 07:43:21

分布式Spring
點贊
收藏

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