Beanstalkd to ZeroMQ:是否可以以相同的方式分配工作?

时间:2013-04-05 11:01:01

标签: message-queue distributed-computing zeromq beanstalkd

一个常见的beanstalkd工作流程是让许多工作人员在队列/管道上侦听作业,在处理锁定该作业时,删除该作业以便没有其他工人可以重新处理它。如果作业失败(例如资源无法完成处理),作业可以滑回队列,以便其他工作人员接收作业。

ZeroMQ可以采用这种方法吗?例如,使用pub / sub模型,多个订阅者可以同时接收相同的作业并进行处理吗?推/拉或req / rep会提供类似的设置吗?

1 个答案:

答案 0 :(得分:2)

我确定ZeroMQ可以为您提供此功能。但请记住,ZeroMQ实际上并不是一个队列。这是一个高级网络库。当然,通过提供的灵长类动物,您可以按照您的描述进行操作。

如果您不介意多次完成相同的工作,那么您的具体情况似乎可以实现为发布/订阅系统。我建议阅读ZeroMQ guide,特别是第5章。

虽然我确信你可以用ZeroMQ做你所描述的,但我会首先搜索一个已经这样做的队列。