docker服务如何在一台机器中真正扩展?
我可以理解在多台不同的机器上进行扩展时它是如何有用的。 但这里我们只有一台机器(或一个节点)。但是docker仍然支持扩展服务以运行多个任务(每个任务由一个容器提供),如下所示:docker服务如何在一台机器中真正扩展?,docker,docker-swarm,docker-container,Docker,Docker Swarm,Docker Container,我可以理解在多台不同的机器上进行扩展时它是如何有用的。 但这里我们只有一台机器(或一个节点)。但是docker仍然支持扩展服务以运行多个任务(每个任务由一个容器提供),如下所示: docker service scale serviceName=num_of_replicas 让我们以运行Web API为例。我真的不知道这种情况下的缩放有什么帮助。一台托管web API的机器可以最大限度地提供服务。在其中使用多个容器无助于提高最大功率。通过Web API的请求处理管道,只要服务器有足够的资源(
docker service scale serviceName=num_of_replicas
让我们以运行Web API为例。我真的不知道这种情况下的缩放有什么帮助。一台托管web API的机器可以最大限度地提供服务。在其中使用多个容器无助于提高最大功率。通过Web API的请求处理管道,只要服务器有足够的资源(CPU、RAM),一台服务器就可以同时独立地处理多个请求。因此,在这种情况下,docker服务扩展不需要多个(不必要的)任务
我在这里看到的唯一好处是docker服务扩展可以在任务(容器)之间提供更好的隔离,而不是由同一个服务器(容器)提供所有请求
您能告诉我这种扩展docker服务的其他好处吗?我上面的假设有什么问题吗
在其中使用多个容器无助于提高最大功率
这实际上取决于实施情况。一些非高效的实现可能只使用单个进程/线程/cpu,扩展有助于提高它们的性能
另一个好处是:在单个节点上进行扩展也有助于提高可用性。对于不可恢复的错误、内存不足问题。。。它可以阻止单个容器。所以,在编排调度器重新启动容器之前,将有停机时间
在其中使用多个容器无助于提高最大功率
这实际上取决于实施情况。一些非高效的实现可能只使用单个进程/线程/cpu,扩展有助于提高它们的性能
另一个好处是:在单个节点上进行扩展也有助于提高可用性。对于不可恢复的错误、内存不足问题。。。它可以阻止单个容器。所以,在编排调度器重新启动容器之前,将有停机时间 我不知道docker swarm,但使用Kubernetes,您可以在零停机时间内更新应用程序。对于多个实例,一个实例在其他实例之后得到更新,因此用户可以打开其余的实例。要使其工作,应用程序必须支持它。我相信docker swarm提供了类似的功能。我不知道docker swarm,但使用Kubernetes,您可以在零停机时间内更新应用程序。对于多个实例,一个实例在其他实例之后得到更新,因此用户可以打开其余的实例。要使其工作,应用程序必须支持它。我相信docker swarm也提供类似的功能。