芹菜工人在码头工人群或牧场主牛

时间:2017-03-09 01:01:36

标签: docker celery rancher swarm

我有一个设计问题。我在几个主机上使用dockerized芹菜工人。我只在每个主机上运行一个celery容器实例,但使用celery的默认工作程序设置,默认为该主机上的核心数。我没有为docker容器设置任何限制。我使用牧场主使用牛环境部署到主机,但我想我的问题同样适用于任何像swarm这样的docker集群。由于芹菜的工作方式,我没有使用多个容器来使用扩展功能 - 一个容器已经能够通过拥有多个工作人员来利用核心。问题是:在主机上有更多1个工人容器对我有什么好处吗?如果是这样,我是否需要将每个芹菜工人限制在每个容器中只有一个并让集群扩展多个容器?我可以想象的唯一好处是从高可用性的角度来看,如果芹菜工人在主机上死亡然后它就消失了,但是如果我有更多的容器,其他人可以接管工作,但我认为芹菜可以通过重生来做同样的事情工人也是。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

唯一可以确定的方法是将其与您的特定工作量进行基准比较,但您的直觉通常是正确的。如果应用程序能够始终如一地使用所有内核,那么运行更多内核通常会因为上下文切换而略微变慢。像我一样可以获得的附带好处我很多失败的工人可能会或者可能不值得为你付出代价。