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

架構(gòu)設(shè)計(jì)中的后臺(tái)任務(wù):三種場景,2.5 種觸發(fā)模式,三個(gè)重點(diǎn)考量?

開發(fā) 架構(gòu)
使用后臺(tái)任務(wù)常見的三類場景有:密集任務(wù)處理、定期任務(wù)處理和批量任務(wù)處理。

什么場景下會(huì)使用后臺(tái)任務(wù)?

常見的三類場景:

其一,密集任務(wù)處理。

舉例:用戶上傳頭像場景,上傳完原圖之后,需要生成大圖,中圖,小圖。這個(gè)過程非常占用磁盤IO,且比較耗時(shí),不應(yīng)該讓用戶在上傳頁面等待,故可以啟動(dòng)一個(gè)后臺(tái)任務(wù)來執(zhí)行。

其二,定期任務(wù)處理。

舉例:每天要清理日志,每周要備份數(shù)據(jù)庫,每月要統(tǒng)計(jì)銷售提成,每年要導(dǎo)出IT審計(jì)數(shù)據(jù)。這類每天,每周,每月,每年都定期執(zhí)行的任務(wù),可以啟動(dòng)一個(gè)后臺(tái)任務(wù)來執(zhí)行。

其三,批量任務(wù)處理。

舉例:要對(duì)所有數(shù)據(jù)進(jìn)行一次性加密處理,要對(duì)大語言模型進(jìn)行參數(shù)訓(xùn)練,這類任務(wù)雖然不是定期執(zhí)行,但也一般不啟動(dòng)服務(wù),而是使用后臺(tái)任務(wù)。

后臺(tái)任務(wù)有幾種常見的觸發(fā)模式?

常見的有2.5種:

  • 第1種,時(shí)間表觸發(fā)(Schedule-driven triggers)。例如:crontable,基于計(jì)時(shí)器周期,定期觸發(fā)。
  • 第2種,事件觸發(fā)(Event-driven triggers)。如前文的例子,用戶上傳原圖時(shí),觸發(fā)大圖,中圖,小圖的生成。

畫外音:這里也可以啟動(dòng)一個(gè)以分鐘為單位的crontable定期觸發(fā)來實(shí)現(xiàn),但效率較低。

  • 第2.5種,人工觸發(fā)(Manual-driven triggers)。老板找你導(dǎo)數(shù)據(jù),你才執(zhí)行任務(wù),這也算事件觸發(fā)的一種特例。只不過發(fā)過來的消息不是MQ,而是老板命令。

架構(gòu)設(shè)計(jì)過程中,后臺(tái)任務(wù)的設(shè)計(jì)重點(diǎn)是什么?

后臺(tái)任務(wù)方案設(shè)計(jì)上有三個(gè)重點(diǎn):

(1) 其一,高可用。除了要考慮冗余+故障轉(zhuǎn)移之外,還要重點(diǎn)考慮任務(wù)的執(zhí)行狀態(tài)與任務(wù)元數(shù)據(jù)的保存,同時(shí)要有任務(wù)探測(cè)與任務(wù)重試機(jī)制,以保證任務(wù)的高可用。這一部分,主要由分布式調(diào)度平臺(tái)來實(shí)現(xiàn)。

(2) 其二,冪等性。后臺(tái)任務(wù)中斷時(shí),會(huì)不會(huì)污染數(shù)據(jù);后臺(tái)任務(wù)重試時(shí),如何保證重試任務(wù)的冪等性。這一部分,主要是由業(yè)務(wù)任務(wù)代碼來保證。

(3) 其三,數(shù)據(jù)傳遞。工程系統(tǒng)與后臺(tái)任務(wù)之間的數(shù)據(jù)如何傳遞,最佳實(shí)踐是:只傳遞消息元數(shù)據(jù),不傳遞批量數(shù)據(jù)本身。

  • 例子1:工程系統(tǒng)用戶上傳了原圖,只給后臺(tái)任務(wù)傳遞用戶uid和消息類型,不要把原圖當(dāng)做參數(shù)。
  • 例子2:生成報(bào)表的多個(gè)任務(wù)之間,只傳遞任務(wù)開始,任務(wù)結(jié)束等消息,不要把數(shù)據(jù)批量傳輸。

知其然,知其所以然。

思路比結(jié)論更重要。

責(zé)任編輯:趙寧寧 來源: 架構(gòu)師之路
相關(guān)推薦

2015-09-14 09:31:44

結(jié)對(duì)設(shè)計(jì)

2022-05-27 11:33:02

前端代碼設(shè)計(jì)模式

2021-05-07 15:27:23

架構(gòu)設(shè)計(jì)架構(gòu)開發(fā)

2022-06-16 08:24:59

設(shè)計(jì)模式代碼前端

2009-11-06 13:23:27

WCF模式

2015-10-13 15:05:09

BYOD自帶設(shè)備移動(dòng)辦公

2015-09-25 11:08:44

移動(dòng)辦公BYOD

2022-10-18 10:41:44

Flowable服務(wù)任務(wù)

2020-05-14 14:48:15

架構(gòu)模式單庫

2011-01-18 15:35:59

jQueryJavaScriptweb

2016-09-13 14:05:24

Spark集群管理模式

2010-06-28 17:43:44

SQL Server

2011-07-15 16:26:09

架構(gòu)設(shè)計(jì)

2010-09-09 10:08:59

2024-12-24 14:40:08

2023-10-13 00:00:00

Redis模塊空間對(duì)象

2024-04-01 08:00:00

MySQL關(guān)聯(lián)設(shè)計(jì)數(shù)據(jù)庫

2010-09-24 19:18:22

SQL索引

2015-07-08 14:18:44

可擴(kuò)展架構(gòu)設(shè)計(jì)云計(jì)算

2022-11-03 08:44:24

代理模式Java設(shè)計(jì)模式
點(diǎn)贊
收藏

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