2014-10-08 56 views
2

我想弄清楚HA是如何工作的。 (高可用性隊列)多代理機器rabbitmq配置,HA如何工作?

我現在的配置是:每臺機器都有多個芹菜工,並指向自己作爲經紀人。由於HA,每臺機器可以做到這一點,而不是指向一臺經紀人機器;通過這種方式,任何一臺機器上的負載較少,因爲它們都是經紀商,並且具有相同隊列的副本。

我的問題是,我的上述邏輯正確嗎?或者是否所有工人都需要指向一個經紀人機器而不管HA?

回答

1

如果你已經看過HAclustering並確保隊列相互鏡像,那麼你在做什麼應該沒問題。但是,在運行你的員工的每臺服務器上運行它似乎都是低效的。

另一種選擇是在HA的幾臺服務器上運行隊列,並讓其他服務器運行工作站以指向它們。但是由於芹菜工作人員配置只能指向一個經紀人網址,因此您可能需要通過使用負載平衡器來解決這個問題,所有工作人員都會指向該平衡器。這是我過去幾年在RabbitMQ HA芹菜上了解到的最好結果。

+1

是的我認爲如果每個服務器都有一個複製隊列,它會使應用程序非常慢,但我不知道減速會有多大。芹菜工人配置只能指向一個經紀人網址的事實是我一直面臨的主要挑戰。我已閱讀https://groups.google.com/forum/#!topic/celery-users/i87kIvHn6gg,BROKER_URL可以是經紀商列表(鏈接中的倒數第二個響應),但尚未成功解決它。你有這個運氣嗎? – jeffrey 2014-10-09 15:53:17

+0

另外,有沒有辦法告訴節點是否是rabbitmqctl(或其他方法)的HA節點? – jeffrey 2014-10-09 16:03:31

+0

@jeffrey,我最後一次看到那個線程,@asksol關於多個經紀人的回覆並不存在。我指的是OP關於使用負載均衡器的觀察結果。我還沒有嘗試過爲BROKER_URL列出多個網址的方法。如果我能把它運行起來,我會回到這裏。知道工人如何選擇哪些經紀人使用會很有意思。 'rabbitmqctl cluster_status'給出集羣中的節點。這是否回答你的問題如何判斷節點是否是HA節點?還是你的意思是別的? – ksrini 2014-10-10 06:34:55