【问题标题】:Queue manager with decent PHP client [closed]具有不错的 PHP 客户端的队列管理器 [关闭]
【发布时间】:2014-01-08 03:24:16
【问题描述】:

首先,这不是“什么是最好的队列管理器...”之类的问题。

我目前使用 Gearman 进行队列管理。它很快,很可靠,但我确实错过了一些功能,我想根据我的需要了解更好的选择。我曾经在 Ruby 中使用 Delayed_job 和 Resque,但即使使用这些我也没有找到以下所有要求:

  1. 我不需要超快的服务器(我们每天处理约 3k 个任务/作业)
  2. 我需要它才能重新排队任务
  3. 以持久的方式存储当前任务(不仅仅是内存)
    • 它应该能够在服务器之间复制数据(以便在服务器崩溃的情况下保持高可用性)
  4. 列表项
    • 并且能够有一个超时自动重新排队
  5. 能够延迟任务
    • 从现在起安排到 5 分钟
    • 或安排到下周日
  6. 能够管理队列
    • 每个队列有多少作业?
    • 工作是关于什么的?
    • 我可以查询队列吗?

其他想法:

  • 能够通过 Zabbix 监控服务器状态会很好。

我对@9​​87654321@ 的第一印象很好。我确实想念服务器之间的数据复制。我对ActiveMQ Apollo也有很好的印象,但我没有看到如何延迟安排。

有什么想法吗?

【问题讨论】:

标签: php queue activemq jobs beanstalkd


【解决方案1】:

Beanstalkd 完成了大部分工作 - 您可以保存二进制日志。不过这只是本地的。监控很简单,只需连接、发送“STATS”调用并读取结果,还可以选择返回从已知管中获取计数。

还有另外两个潜在的 - 远程托管 - 具有高可用性声明的解决方案。 Amazon SQS 和 IronMQ。 Iron 的一个优点(虽然我没有亲自使用过)是它还具有几乎 100% 与 Beanstalkd 兼容的界面,只是后端更加“企业化”。

【讨论】:

  • 谢谢阿利斯特。目前,我赌的是 Beanstalkd。但我确实错过了服务器之间的同步。让我看看 IronMQ 看看它是如何处理数据复制的,我会告诉你的。
  • 嗨,Alister,我可以看到 IronMQ 非常好,但它只是作为服务工作。这对我们来说是个问题。如果我现在可以在云中使用 Amazon SQS,我会使用它。
猜你喜欢
  • 2023-03-19
  • 1970-01-01
  • 2011-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-14
相关资源
最近更新 更多