2017-03-09 45 views
1

我有一個設計問題。我在幾臺主機上使用碼頭化的芹菜工作人員。我只在每個主機上運行一個芹菜容器的實例,但是使用默認的celery默認工人設置,默認爲該主機上的核心數量。我沒有爲碼頭集裝箱設置任何限制。我使用牧場主來部署到使用牛環境的主機,但我想我的問題同樣適用於像swarm這樣的任何docker集羣。由於芹菜的工作方式,我沒有通過使用多個容器來使用擴展功能 - 一個容器已經能夠通過擁有多個工作人員來利用核心。問題是:在主機上有更多的工作容器對我有任何好處嗎?如果是這樣,我是否需要限制每個芹菜工人在每個容器中只有一個,並讓該集羣擴大多個容器?我可以想象的唯一好處是從高可用性的角度來看,如果芹菜工人死在主人那麼它就消失了,但如果我有更多的容器,其他人可以接管工作,但我認爲芹菜可以通過重新生產做同樣的事情工人也是。我錯過了什麼嗎?芹菜工人在碼頭羣或牧場牛

回答

0

唯一可以肯定的方法是將其與您的特定工作負載進行基準比較,但您的直覺通常是正確的。如果應用程序能夠始終如一地使用所有內核,那麼由於上下文切換,運行更多內核通常會使速度稍慢。好處仍然存在,如果我有許多工人失敗,可能會或可能不值得您花費。

+0

感謝您確認我的想法。我會接受你的建議和基準。 – Fuithecat