宜信開(kāi)源微服務(wù)任務(wù)調(diào)度平臺(tái)(SIA-TASK)-創(chuàng)新互聯(lián)

背景

無(wú)論是互聯(lián)網(wǎng)應(yīng)用或者企業(yè)級(jí)應(yīng)用,都充斥著大量的批處理任務(wù)。常常需要一些任務(wù)調(diào)度系統(tǒng)幫助開(kāi)發(fā)者解決問(wèn)題。隨著微服務(wù)化架構(gòu)的逐步演進(jìn),單體架構(gòu)逐漸演變?yōu)榉植际健⑽⒎?wù)架構(gòu)。在此的背景下,很多原先的任務(wù)調(diào)度平臺(tái)已經(jīng)不能滿足業(yè)務(wù)系統(tǒng)的需求。于是出現(xiàn)了一些基于分布式的任務(wù)調(diào)度平臺(tái)。這些平臺(tái)各有其特點(diǎn),但各有不足之處,比如不支持任務(wù)編排、與業(yè)務(wù)高耦合、不支持跨平臺(tái)等問(wèn)題。非常不符合新一代微服務(wù)架構(gòu)的需求,因此宜信公司開(kāi)發(fā)了微服務(wù)任務(wù)調(diào)度平臺(tái)(SIA-TASK)。

十年的清徐網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整清徐建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“清徐網(wǎng)站設(shè)計(jì)”,“清徐網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

SIA是宜信公司基礎(chǔ)開(kāi)發(fā)平臺(tái)Simple is Awesome的簡(jiǎn)稱,SIA-TASK(微服務(wù)任務(wù)調(diào)度平臺(tái))是其中的一項(xiàng)重要產(chǎn)品,SIA-TASK契合當(dāng)前微服務(wù)架構(gòu)模式,具有跨平臺(tái),可編排,高可用,無(wú)侵入,一致性,異步并行,動(dòng)態(tài)擴(kuò)展,實(shí)時(shí)監(jiān)控等特點(diǎn)。

項(xiàng)目簡(jiǎn)介

SIA-TASK是任務(wù)調(diào)度的一體式解決方案。對(duì)任務(wù)進(jìn)行元數(shù)據(jù)采集,然后進(jìn)行任務(wù)可視化編排,最終進(jìn)行任務(wù)調(diào)度,并且對(duì)任務(wù)采取全流程監(jiān)控,簡(jiǎn)單易用。對(duì)業(yè)務(wù)完全無(wú)侵入,通過(guò)簡(jiǎn)單靈活的配置即可生成符合預(yù)期的任務(wù)調(diào)度模型。

SIA-TASK借鑒微服務(wù)的設(shè)計(jì)思想,獲取分布在每個(gè)任務(wù)執(zhí)行器上的任務(wù)元數(shù)據(jù),上傳到任務(wù)注冊(cè)中心。利用在線方式進(jìn)行任務(wù)編排,可動(dòng)態(tài)修改任務(wù)時(shí)鐘,采用HTTP作為任務(wù)調(diào)度協(xié)議,統(tǒng)一使用JSON數(shù)據(jù)格式,由調(diào)度中心進(jìn)行時(shí)鐘解析,執(zhí)行任務(wù)流程,進(jìn)行任務(wù)通知。

關(guān)鍵術(shù)語(yǔ)

  • 任務(wù)(Task): 基本執(zhí)行單元,執(zhí)行器對(duì)外暴露的一個(gè)HTTP調(diào)用接口;
  • 作業(yè)(Job): 由一個(gè)或者多個(gè)存在相互邏輯關(guān)系(串行/并行)的任務(wù)組成,任務(wù)調(diào)度中心調(diào)度的最小單位;
  • 計(jì)劃(Plan): 由若干個(gè)順序執(zhí)行的作業(yè)組成,每個(gè)作業(yè)都有自己的執(zhí)行周期,計(jì)劃沒(méi)有執(zhí)行周期;
  • 任務(wù)調(diào)度中心(Scheduler): 根據(jù)每個(gè)的作業(yè)的執(zhí)行周期進(jìn)行調(diào)度,即按照計(jì)劃、作業(yè)、任務(wù)的邏輯進(jìn)行HTTP請(qǐng)求;
  • 任務(wù)編排中心(Config): 編排中心使用任務(wù)來(lái)創(chuàng)建計(jì)劃和作業(yè);
  • 任務(wù)執(zhí)行器(Executer): 接收HTTP請(qǐng)求進(jìn)行業(yè)務(wù)邏輯的執(zhí)行;
  • Hunter:Spring項(xiàng)目擴(kuò)展包,負(fù)責(zé)執(zhí)行器中的任務(wù)抓取,上傳注冊(cè)中心,業(yè)務(wù)可依賴該組件進(jìn)行Task編寫(xiě)。

微服務(wù)任務(wù)調(diào)度平臺(tái)的特性

  • 基于注解自動(dòng)抓取任務(wù),在暴露成HTTP服務(wù)的方法上加入@OnlineTask注解,@OnlineTask會(huì)自動(dòng)抓取方法所在的IP地址,端口,請(qǐng)求路徑,請(qǐng)求方法,請(qǐng)求參數(shù)格式等信息上傳到任務(wù)注冊(cè)中心(zookeeper),并同步寫(xiě)入持久化存儲(chǔ)中,此方法即任務(wù);
  • 基于注解無(wú)侵入多線程控制,單一任務(wù)實(shí)例必須保持單線程運(yùn)行,任務(wù)調(diào)度框架自動(dòng)攔截@OnlineTask注解進(jìn)行單線程運(yùn)行控制,保持在一個(gè)任務(wù)運(yùn)行時(shí)不會(huì)被再次調(diào)度。而且整個(gè)控制過(guò)程對(duì)開(kāi)發(fā)者完全無(wú)感知。
  • 調(diào)度器自適應(yīng)任務(wù)分配,任務(wù)執(zhí)行過(guò)程中出現(xiàn)失敗,異常時(shí)??梢愿鶕?jù)任務(wù)定制的策略進(jìn)行多點(diǎn)重新喚醒任務(wù),保證任務(wù)的不間斷執(zhí)行。
  • 高度靈活任務(wù)編排模式,SIA-TASK的設(shè)計(jì)思想是以任務(wù)為原子,把多個(gè)任務(wù)按照?qǐng)?zhí)行的關(guān)系組合起來(lái)形成一個(gè)作業(yè)。同時(shí)運(yùn)行時(shí)分為任務(wù)調(diào)度中心和任務(wù)編排中心,使得作業(yè)的調(diào)度和作業(yè)的編排分隔開(kāi)來(lái),互不影響。在我們需要調(diào)整作業(yè)的流程時(shí),只需要在編排中心進(jìn)行處理即可。同時(shí)編排中心支持任務(wù)按照串行,并行,分支等方式組織關(guān)系。在相同任務(wù)不同任務(wù)實(shí)例時(shí),也支持多種調(diào)度方式進(jìn)行處理。

微服務(wù)任務(wù)調(diào)度平臺(tái)設(shè)計(jì)

SIA-TASK主要分為五個(gè)部分:

  • 任務(wù)執(zhí)行器
  • 任務(wù)調(diào)度中心
  • 任務(wù)編排中心
  • 任務(wù)注冊(cè)中心(zookeeper)
  • 持久存儲(chǔ)(Mysql)
    宜信開(kāi)源微服務(wù)任務(wù)調(diào)度平臺(tái)(SIA-TASK)

SIA-TASK的主要運(yùn)行邏輯:

  1. 通過(guò)注解抓取任務(wù)執(zhí)行器中的任務(wù)上報(bào)到任務(wù)注冊(cè)中心
  2. 任務(wù)編排中心從任務(wù)注冊(cè)中心獲取數(shù)據(jù)進(jìn)行編排保存入持久化存儲(chǔ)
  3. 任務(wù)調(diào)度中心從持久化存儲(chǔ)獲取調(diào)度信息
  4. 任務(wù)調(diào)度中心按照調(diào)度邏輯訪問(wèn)任務(wù)執(zhí)行器
    宜信開(kāi)源微服務(wù)任務(wù)調(diào)度平臺(tái)(SIA-TASK)

UI預(yù)覽

首頁(yè)提供多維度監(jiān)控

  • 調(diào)度器信息:展示調(diào)度器信息(負(fù)載能力,預(yù)警值),以及作業(yè)分布情況。
  • 調(diào)度信息:展示調(diào)度中心觸發(fā)的調(diào)度次數(shù),作業(yè)、任務(wù)多維度調(diào)度統(tǒng)計(jì)。
  • 對(duì)接項(xiàng)目統(tǒng)計(jì):對(duì)使用項(xiàng)目的系統(tǒng)進(jìn)行統(tǒng)計(jì),作業(yè)個(gè)數(shù),任務(wù)個(gè)數(shù)等等。

宜信開(kāi)源微服務(wù)任務(wù)調(diào)度平臺(tái)(SIA-TASK)

</br>
調(diào)度監(jiān)控提供對(duì)已提交的作業(yè)進(jìn)行實(shí)時(shí)監(jiān)控展示。

  • 作業(yè)狀態(tài)實(shí)時(shí)監(jiān)控:以項(xiàng)目組為單位面板,展示作業(yè)運(yùn)行時(shí)狀態(tài)。
  • 實(shí)時(shí)日志關(guān)聯(lián):可以通過(guò)涂色狀態(tài)圖標(biāo)進(jìn)行日志實(shí)時(shí)關(guān)聯(lián)展示。

宜信開(kāi)源微服務(wù)任務(wù)調(diào)度平臺(tái)(SIA-TASK)

</br>
任務(wù)管理:提供任務(wù)元數(shù)據(jù)的相關(guān)操作

  • 任務(wù)元數(shù)據(jù)錄入:手動(dòng)模式的任務(wù),可在此進(jìn)行錄入。
  • 任務(wù)連通性測(cè)試:提供任務(wù)連通×××測(cè)試。
  • 任務(wù)元數(shù)據(jù)其他操作:修改,刪除。

宜信開(kāi)源微服務(wù)任務(wù)調(diào)度平臺(tái)(SIA-TASK)
宜信開(kāi)源微服務(wù)任務(wù)調(diào)度平臺(tái)(SIA-TASK)

</br>
Job管理:提供作業(yè)相關(guān)操作

  • 任務(wù)編排:進(jìn)行作業(yè)的編排。
  • 發(fā)布作業(yè): 作業(yè)的創(chuàng)建,修改,以及發(fā)布。
  • 級(jí)聯(lián)設(shè)置:提供存在時(shí)間依賴的作業(yè)設(shè)置。

宜信開(kāi)源微服務(wù)任務(wù)調(diào)度平臺(tái)(SIA-TASK)

</br>
日志管理

宜信開(kāi)源微服務(wù)任務(wù)調(diào)度平臺(tái)(SIA-TASK)

  • 本地日志:日志界面簡(jiǎn)潔,查詢快速;日志提供7天的調(diào)度日志,以供快速查詢。

開(kāi)源地址

  • https://github.com/siaorg/sia-task

作者:宜信開(kāi)發(fā)平臺(tái)負(fù)責(zé)人/資深架構(gòu)師梁鑫

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站標(biāo)題:宜信開(kāi)源微服務(wù)任務(wù)調(diào)度平臺(tái)(SIA-TASK)-創(chuàng)新互聯(lián)
本文URL:http://muchs.cn/article22/dspojc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站微信小程序、云服務(wù)器自適應(yīng)網(wǎng)站、靜態(tài)網(wǎng)站全網(wǎng)營(yíng)銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)