Gearman任務(wù)調(diào)度程序
Gearman是一個(gè)分發(fā)任務(wù)的程序框架,可以用在各種場(chǎng)合,與Hadoop相比,Gearman更偏向于任務(wù)分發(fā)功能。它的 任務(wù)分布非常 簡(jiǎn)單,簡(jiǎn)單得可以只需要用腳本即可完成。Gearman最初用于LiveJournal的圖片resize功能,由于圖片resize需要消耗大量計(jì)算資 源,因此需要調(diào)度到后端多臺(tái)服務(wù)器執(zhí)行,完成任務(wù)之后返回前端再呈現(xiàn)到界面。
Gearman 分布式任務(wù)實(shí)現(xiàn)原理上只用到2個(gè)字段,function name和data。function name即任務(wù)名稱,由client傳給job server, job server根據(jù)function name選擇合適的worker節(jié)點(diǎn)來(lái)執(zhí)行。data通常為執(zhí)行任務(wù)所需的自定義的內(nèi)容,比如簡(jiǎn)單的做法可以把需要執(zhí)行的腳本當(dāng)成data即可(當(dāng)然要注 意其中的安全防范)。如果有多個(gè)worker可以處理同一個(gè)function name, 則job server會(huì)自動(dòng)分配一個(gè)。當(dāng)用于遠(yuǎn)程監(jiān)控場(chǎng)景時(shí),我們可以讓每個(gè)worker注冊(cè)成不同的業(yè)務(wù)名稱,以達(dá)到方便控制每臺(tái)worker節(jié)點(diǎn)的目的。
評(píng)論
圖片
表情
