Gearma是一个分发任务的程序框架,可以用在各种场合,与Hadoop相比,Gearma更偏向于任务分发功能。它的任务分布非常简单,简单得可以只需要用脚本即可完成。Gearma最初用于LiveJoural的图片resize功能,由于图片resize需要消耗大量计算资源,因此需要调度到后端多台服务器执行,完成任务之后返回前端再呈现到界面。
Gearma分布式任务实现原理上只用到2个字段,fuctioame和data。fuctioame即任务名称,由cliet传给jobserver,jobserver根据fuctioame选择合适的worker节点来执行。data通常为执行任务所需的自定义的内容,比如简单的做法可以把需要执行的脚本当成data即可(当然要注意其中的安全防范)。如果有多个worker可以处理同一个fuctioame,则jobserver会自动分配一个。当用于远程监控场景时,我们可以让每个worker注册成不同的业务名称,以达到方便控制每台worker节点的目的。
评论