貝殼找房是2018年4月推出的“新居住”服務(wù)平臺(tái),為消費(fèi)者提供包括二手房、新房、租賃等全方位的居住服務(wù)。隨著公司業(yè)務(wù)的發(fā)展和中臺(tái)戰(zhàn)略的推進(jìn),為了管理大量的分布式調(diào)度任務(wù),貝殼找房技術(shù)團(tuán)隊(duì)開(kāi)發(fā)了一套中心化的作業(yè)調(diào)度系統(tǒng)KOB(Ke Job的簡(jiǎn)稱(chēng)),定義了公司的任務(wù)調(diào)度模型,實(shí)現(xiàn)了任務(wù)調(diào)度的統(tǒng)一管理和監(jiān)控。
KOB是貝殼找房開(kāi)發(fā)的分布式作業(yè)調(diào)度系統(tǒng),其架構(gòu)簡(jiǎn)介如下:
作為貝殼找房的大型開(kāi)源項(xiàng)目之一,KOB背后的核心功能和創(chuàng)新點(diǎn)是大家關(guān)心的重點(diǎn)。針對(duì)一些關(guān)鍵問(wèn)題,我們采訪了項(xiàng)目負(fù)責(zé)人趙禹光。
Q:為什么要做KOB這個(gè)項(xiàng)目?
說(shuō)來(lái)話長(zhǎng),隨著公司業(yè)務(wù)的發(fā)展和中臺(tái)戰(zhàn)略的推進(jìn),很多大型項(xiàng)目拆分成多個(gè)小項(xiàng)目和微服務(wù)。我們之前使用Quartz來(lái)實(shí)現(xiàn)作業(yè)調(diào)度功能,但隨著項(xiàng)目的增多,作業(yè)調(diào)度任務(wù)也分散在許多不同的項(xiàng)目和微服務(wù)中。這樣不僅不利于作業(yè)調(diào)度任務(wù)的統(tǒng)一管理,也會(huì)浪費(fèi)大量的服務(wù)資源,同時(shí)也無(wú)法實(shí)現(xiàn)跨項(xiàng)目間的任務(wù)調(diào)度。
基于以上思考,我們開(kāi)發(fā)了第一版作業(yè)調(diào)度系統(tǒng),又經(jīng)過(guò)了1年多的沉淀,開(kāi)源了KOB作業(yè)調(diào)度系統(tǒng)。
Q:為什么后來(lái)要選擇開(kāi)源?
帶著公司在發(fā)展中遇到的作業(yè)調(diào)度問(wèn)題,我們調(diào)研了很多市場(chǎng)上的產(chǎn)品,發(fā)現(xiàn)并沒(méi)有能很好地解決我們需求的產(chǎn)品,因此我們決定自研?,F(xiàn)在經(jīng)過(guò)了1年多的沉淀,把我們的方案和產(chǎn)品以開(kāi)源的方式回饋給社區(qū),希望可以為作業(yè)調(diào)度方向提供新的解決方案,讓大家共同參與建設(shè)。
Q:目前國(guó)內(nèi)有哪些比較好的作業(yè)調(diào)度系統(tǒng)?KOB跟它們相比又有什么區(qū)別?
作業(yè)調(diào)度系統(tǒng)是每個(gè)互聯(lián)網(wǎng)公司的基礎(chǔ)服務(wù),國(guó)內(nèi)常用的有Elastic-job、TBSchedule等開(kāi)源產(chǎn)品。
首先,它們都基于Quartz實(shí)現(xiàn)任務(wù)調(diào)度,每個(gè)項(xiàng)目需要建立相應(yīng)的配置和存儲(chǔ),有一定的接入成本,且任務(wù)調(diào)度模塊的擴(kuò)展性較低。而KOB的作業(yè)調(diào)度組件都是自研的,各種配置由服務(wù)端統(tǒng)一管理,接入成本比較低,并且基于KOB做功能定制會(huì)更加靈活。
其次,KOB在中心化的實(shí)現(xiàn)方案下,保證了每個(gè)業(yè)務(wù)線機(jī)器資源的彈性伸縮,同時(shí)也實(shí)現(xiàn)了任務(wù)調(diào)度的統(tǒng)一管理和監(jiān)控,降低了每個(gè)項(xiàng)目的管理成本。
再次,KOB實(shí)現(xiàn)了管道隊(duì)列模塊,在調(diào)度任務(wù)較多時(shí),會(huì)將任務(wù)保留并延遲執(zhí)行,保證調(diào)度任務(wù)必然運(yùn)行,不會(huì)因?yàn)樨?fù)載過(guò)高而丟失任務(wù)。
最后,我們支持對(duì)已接入的項(xiàng)目做資源隔離,使得各個(gè)項(xiàng)目的接入更加簡(jiǎn)單,不必考慮其他項(xiàng)目。其他的差異可以查看我們做的競(jìng)品分析:KOB競(jìng)品分析
Q:我們?cè)诩軜?gòu)方面,有哪些創(chuàng)新呢?
除了剛才所說(shuō)的區(qū)別以外,KOB的任務(wù)調(diào)度機(jī)制和任務(wù)管理理念也有所不同。
以Quartz為例,Quartz用MySQL的行鎖解決任務(wù)分配問(wèn)題。但對(duì)于大量短任務(wù)的這種情況,每個(gè)客戶(hù)端都會(huì)搶占數(shù)據(jù)庫(kù)鎖,這樣就會(huì)出現(xiàn)大量的線程等待,對(duì)客戶(hù)端是非常不友好的。而KOB是用ZooKeeper來(lái)實(shí)現(xiàn)任務(wù)調(diào)度的,會(huì)統(tǒng)一由服務(wù)端分配調(diào)度任務(wù),預(yù)先分配好了執(zhí)行任務(wù)的客戶(hù)端,避免了客戶(hù)端搶占數(shù)據(jù)庫(kù)鎖這樣的資源浪費(fèi)。
Q:KOB目前可以支持那些語(yǔ)言的客戶(hù)端呢?其他語(yǔ)言想接入KOB會(huì)不會(huì)成本很高?
目前只有Java版本的客戶(hù)端,正在規(guī)劃增加對(duì)其他語(yǔ)言的支持。在這里也希望大家加入我們的隊(duì)伍,一起開(kāi)發(fā)其他語(yǔ)言的客戶(hù)端。
其他語(yǔ)言的客戶(hù)端開(kāi)發(fā)也比較容易,因?yàn)镵OB的架構(gòu)主要的邏輯在服務(wù)端,客戶(hù)端通過(guò)與ZooKeeper通信來(lái)實(shí)現(xiàn)任務(wù)調(diào)度。
Q:目前線上的穩(wěn)定性怎么樣?
目前在公司內(nèi)部,已經(jīng)接入了數(shù)百個(gè)線上服務(wù),每天完成幾萬(wàn)次的任務(wù)調(diào)度,調(diào)度準(zhǔn)確性達(dá)99.999%,時(shí)間誤差在毫秒級(jí),支持失效轉(zhuǎn)移,穩(wěn)定性是有保證的。
Q:接入了這么多的項(xiàng)目后,相應(yīng)的運(yùn)維成本是否會(huì)增加呢?
不會(huì)的,KOB的服務(wù)端是實(shí)現(xiàn)了高可用的,服務(wù)失敗會(huì)自動(dòng)處理,不會(huì)耗費(fèi)運(yùn)維人力,另外我司的基礎(chǔ)監(jiān)控也比較完善。
目前KOB并不需要專(zhuān)職的運(yùn)維同學(xué),在服務(wù)的承載能力下,任何業(yè)務(wù)方都可以自由地在平臺(tái)上進(jìn)行接入,自行查看任務(wù)運(yùn)行情況。并且每個(gè)項(xiàng)目間都是邏輯隔離的,不用擔(dān)心受到其他業(yè)務(wù)的影響。
KOB作業(yè)調(diào)度系統(tǒng)使用了目前市場(chǎng)最主流的技術(shù)棧,可靠性、擴(kuò)展性都很高,而學(xué)習(xí)成本很低。
Q:想問(wèn)下KOB作業(yè)調(diào)度系統(tǒng)的下一步規(guī)劃是什么?
我們會(huì)抓緊推進(jìn)KOB社區(qū)的建設(shè),同社區(qū)一起發(fā)展,在功能上即將發(fā)布跨項(xiàng)目調(diào)度功能,正在考慮增加DAG調(diào)度等新功能。
Q:最后一個(gè)問(wèn)題,團(tuán)隊(duì)有沒(méi)有其他產(chǎn)品開(kāi)源的計(jì)劃?
團(tuán)隊(duì)目前有一些其他技術(shù)類(lèi)項(xiàng)目,解決業(yè)務(wù)中遇到的一些具體的問(wèn)題,比如幫助線上定位問(wèn)題、數(shù)據(jù)一致性組件等,也有開(kāi)源計(jì)劃,暫時(shí)保密。
- 為什么年輕人不愛(ài)換手機(jī)了
- 柔宇科技未履行金額近億元被曝已6個(gè)月發(fā)不出工資
- 柔宇科技被曝已6個(gè)月發(fā)不出工資 公司回應(yīng)欠薪有補(bǔ)償方案
- 第六座“綠動(dòng)未來(lái)”環(huán)保公益圖書(shū)館落地貴州山區(qū)小學(xué)
- 窺見(jiàn)“新紀(jì)元”,2021元宇宙產(chǎn)業(yè)發(fā)展高峰論壇“廣州啟幕”
- 以人為本,景悅科技解讀智慧城市發(fā)展新理念
- 紐迪瑞科技/NDT賦能黑鯊4 Pro游戲手機(jī)打造全新一代屏幕壓感
- 清潔家電新老玩家市場(chǎng)定位清晰,攜手共進(jìn),核心技術(shù)決定未來(lái)
- 新思科技與芯耀輝在IP產(chǎn)品領(lǐng)域達(dá)成戰(zhàn)略合作伙伴關(guān)系
- 芯耀輝加速全球化部署,任命原Intel高管出任全球總裁
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。