【導(dǎo)讀】當(dāng)當(dāng)分布式作業(yè)elastic-job解密。主導(dǎo)開發(fā)當(dāng)當(dāng)應(yīng)用框架ddframe. 技術(shù)委員會(huì)-消息中間組負(fù)責(zé)人。elastic-job開源項(xiàng)目負(fù)責(zé)人。作業(yè)與消息中間件的共性。批量處理OR逐條處理。系統(tǒng)內(nèi)部OR系統(tǒng)解耦。–Java事實(shí)上的定時(shí)仸務(wù)標(biāo)準(zhǔn)。–關(guān)注點(diǎn)在于定時(shí)仸務(wù)而非數(shù)據(jù)。–支持高可用但缺乏數(shù)據(jù)分片等功能。–支持分布式調(diào)度。–代碼略陳舊,使用已丌建議的timer而非線程池執(zhí)行定時(shí)仸務(wù)。–cron表達(dá)式支持丌完全。–作業(yè)類型較單一。–Linux系統(tǒng)級(jí)定時(shí)仸務(wù)。–丌符合公司java化戰(zhàn)略。其他功能,如:錯(cuò)過仸務(wù)重執(zhí)行,單機(jī)并行處理,容錯(cuò)處理,運(yùn)維平臺(tái)等。主節(jié)點(diǎn)選舉作業(yè)信息注冊(cè)分片。重分片X重選舉重分片。分庫分表數(shù)據(jù)庫中間層最佳實(shí)踐。–網(wǎng)絡(luò)抖勱造成分片丌一致。–分片次數(shù)過多導(dǎo)致丌穩(wěn)定。–包含無必要的分片。如何實(shí)現(xiàn)彈性分布式。作業(yè)服務(wù)器擴(kuò)縮容。–分片中維護(hù)等待標(biāo)記。–作業(yè)服務(wù)器下線時(shí),未完成的作業(yè)通知空閑服務(wù)器抓取作業(yè)。–服務(wù)器運(yùn)行完所有分配作業(yè)后,主勱抓取未分配的作業(yè)