Skip to main content
 首页 » 编程设计

message-queue之Rabbitmq 或 Gearman之选择作业队列

2024年02月27日49shangdawei

在工作中,我们需要构建一个作业服务器,用于发送电子邮件、构建 PDF、处理一些数据等。显然,我们希望构建某种通用排队系统。我对 Gearman 很熟悉,这正是它试图解决的问题:将工作放入队列中,让 worker 们来取走它们。然而,我看到很多人提到 Rabbitmq,但不清楚它在这种情况下是如何使用的。

Rabbitmq 是一个构建分布式作业系统的好框架吗?

请您参考如下方法:

我想说 Gearman 更适合对“作业”进行排队,而 RabbitMQ 更适合对“数据”进行排队。当然,它们实际上是同一件事,但对我来说,如果你想“扇出”要完成的工作,并且工作人员可以独立工作,那么 Gearman 是更好的方法。但是,如果您尝试将来自多个来源的数据提供给较少的数据使用者,RabbitMQ 是更好的解决方案。

RabbitMQ 的历史就说明了这一点,它允许 Twitter 接收突发消息负载,并将它们输入到只能保持一个连接打开、速率受限且没有重试的硬壳旧 SMS 网关中。 RabbitMQ 擅长解决的问题。