2012-09-08 34 views
1

Quartz和RabbitMQ,這是這些技術之間的區別? 它們可以一起使用嗎? 這些技術是否可以安裝在託管Web服務器的硬件上,還是爲他們提供專用硬件更好?石英和rabbitMQ,這是不同的?

+0

如果在這個問題上有任何背景或研究的話,情況會非常好。你想達到什麼目的?這兩個名字是怎麼發生在你身上的?在問這裏之前,你有什麼試圖找到答案的? – Olfan

回答

5

我們首先假設您的意思是Quartz, a scheduler,而不是Quartz, a Mac OS X graphics layer。 ;)

  • RabbitMQ是一個消息隊列。消息隊列確保消息到達目的地,在停機期間持續存在,並在多個工作進程之間進行負載平衡。如果您有多個進程執行不同類型的工作,並且您需要一種分配工作負載的方法,則通常需要消息隊列。
  • Quartz是一個調度器。調度程序確保事件在正確的時間發生,可能確保一個事件在另一個事件可能啓動之前正確執行,或者在停機後趕上計劃。如果像crontab等基本的操作系統功能不足以滿足您的需求,您通常需要調度程序。

將這兩個概念結合起來可以很強大:讓調度器將事件或事件鏈觸發到消息隊列中,並讓許多工作人員監聽各自的隊列以執行分配的任務。

根據你想要達到的目標,把所有東西放在同一臺機器上可能是完全沒問題的。當您遇到糟糕的表現時,您可以決定是否需要更大的機器或將工作負載分配到許多較小的機器上。

你可能想看一下RabbitMQ和Quartz的網站上的教程,看看其中一個或兩個都適合你的目的。