2013-12-19 54 views
1

首先,這不是「什麼是最好的隊列管理器......」這樣的問題。擁有體面的PHP客戶端的隊列管理器

我目前使用Gearman進行隊列管理。它速度快,可靠,但我確實錯過了一些功能,我想根據自己的需求瞭解更多更好的選擇。我用的delayed_job和Resque在Ruby中工作,但即使與那些我沒發現下面的所有要求:

  1. 我並不需要一個速度極快的服務器(我們對待每〜3K任務/工作天)
  2. 我需要它能夠reenqueue任務在持久的方式(不是內存
  3. 商店的當前任務只)
    • 應該能夠複製,以保持高可用性服務器之間的數據(在服務器崩潰的情況下)
  4. 列表項
    • ,並能夠有一個超時將自動reenqueue
  5. 能夠延緩任務
    • 時間表爲5分鐘,從現在
    • 或安排到明年週日
  6. 能夠管理隊列
    • 每個隊列有多少個作業?
    • 這些工作是關於什麼的?
    • 我可以查詢隊列嗎?

其他的想法:

  • 如果能夠監測通過的zabbix服務器的狀態就好了。

我對Beanstalkd有很好的第一印象。我確實錯過了服務器之間的數據複製。我對ActiveMQ Apollo也有一個很好的印象,但我沒有看到如何安排延遲。

有什麼想法?

回答

1

Beanstalkd可以完成大部分工作 - 您可以保存二進制日誌。雖然只是本地的。監控非常簡單,只需連接,發送一個'STATS'調用,然後讀取結果,也可以選擇返回以從已知管中獲取計數。

還有兩種潛在的 - 遠程託管 - 解決方案具有高可用性聲明。亞馬遜SQS和IronMQ。 Iron的一個優勢(雖然我沒有親自使用過),它還擁有幾乎100%的Beanstalkd兼容界面,後端只是更多的「企業」。

+0

謝謝阿利斯特。現在,我打賭Beanstalkd。但是我錯過了服務器之間的同步。讓我查看IronMQ以瞭解它如何處理數據複製,並讓我知道。 – otaviofcs

+0

嗨,Alister,我可以看到IronMQ很不錯,但它只是作爲服務工作。對我們來說這是一個問題。如果我現在可以在雲中使用它,我會使用Amazon SQS。 – otaviofcs