我一直在研究新的Docker Swarm模式,它将在Docker 1.12中可用.在此Docker Swarm Mode Walkthrough视频中,他们创建了一个由单个Nginx容器组成的简单Nginx服务.在视频中,它们在Swarm群集中有4个节点.在扩展演示期间,他们将复制因子增加到10,从而在集群中的所有4台计算机上创建了10个Nginx容器副本.
我得到的视频只是一个演示,但是在现实世界中,与Swarm集群中的节点相比,创建更多容器(或服务)副本的意义何在?这似乎毫无意义,因为同一台机器上的两个容器无论如何将共享该机器有限的计算资源.我没有得到什么好处.
所以我的问题是,复制Swarm集群中节点数量之外的Docker服务或容器是否有任何现实的好处?
谢谢
最佳答案
这取决于应用程序如何处理线程和多个请求.单线程应用程序或一次仅处理一个请求的作业可能会使用一部分OS资源,并受益于在单个主机上运行多个实例.已被调整为可同时处理请求并且充分利用OS的应用程序将看不到任何好处,并且实际上会遭受占用资源以运行该应用程序的多个实例的损失.