深度学习核心技术精讲100篇(五十五)-深度解读分布式定时任务框架
前言
我們先思考下面幾個(gè)業(yè)務(wù)場(chǎng)景的解決方案:
-
支付系統(tǒng)每天凌晨1點(diǎn)跑批,進(jìn)行一天清算,每月1號(hào)進(jìn)行上個(gè)月清算
-
電商整點(diǎn)搶購(gòu),商品價(jià)格8點(diǎn)整開始優(yōu)惠
-
12306購(gòu)票系統(tǒng),超過30分鐘沒有成功支付訂單的,進(jìn)行回收處理
-
商品成功發(fā)貨后,需要向客戶發(fā)送短信提醒
類似的業(yè)務(wù)場(chǎng)景非常多,我們?cè)趺唇鉀Q?
?很多業(yè)務(wù)場(chǎng)景需要我們某一特定的時(shí)刻去做某件任務(wù),定時(shí)任務(wù)解決的就是這種業(yè)務(wù)場(chǎng)景。一般來說,系統(tǒng)可以使用消息傳遞代替部分定時(shí)任務(wù),兩者有很多相似之處,可以相互替換場(chǎng)景。
如,上面發(fā)貨成功發(fā)短信通知客戶的業(yè)務(wù)場(chǎng)景,我們可以在發(fā)貨成功后發(fā)送MQ消息到隊(duì)列,然后去消費(fèi)mq消息,發(fā)送短信。
但在某些場(chǎng)景下不能互換:
-
時(shí)間驅(qū)動(dòng)/事件驅(qū)動(dòng):內(nèi)部系統(tǒng)一般可以通過時(shí)間來驅(qū)動(dòng),但涉及到外部系統(tǒng),則只能使用時(shí)間驅(qū)動(dòng)。如怕取外部網(wǎng)站價(jià)格,每小時(shí)爬一次
-
批量處理/逐條處理:批量處理堆積的數(shù)據(jù)更加高效,在不需要實(shí)時(shí)性的情況下比消息中間件更有優(yōu)勢(shì)。而且有的業(yè)務(wù)邏輯只能批量處理。如移動(dòng)每個(gè)月結(jié)算我們的話費(fèi)
-
實(shí)時(shí)性/非實(shí)時(shí)性:消息中間件能夠做到實(shí)時(shí)處理數(shù)據(jù),但是有些情況下并不需要實(shí)時(shí),比如:vip升級(jí)
-
系統(tǒng)內(nèi)部/系統(tǒng)解耦:定時(shí)任務(wù)調(diào)度一般是在系統(tǒng)內(nèi)部,而消息中間件可用于兩個(gè)系統(tǒng)間
Java 有哪些定時(shí)任
總結(jié)
以上是生活随笔為你收集整理的深度学习核心技术精讲100篇(五十五)-深度解读分布式定时任务框架的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tableau应用实战案例(五十)-销售
- 下一篇: 深度学习核心技术精讲100篇(六十六)-