【问题标题】:What's the main advantage of using replicas in Docker Swarm Mode?在 Docker Swarm 模式中使用副本的主要优势是什么?
【发布时间】:2017-01-03 17:50:33
【问题描述】:

我很难理解 Docker Swarm 模式下 replica 实例的概念。我听说这是一项有助于提高可用性的功能。

但是,即使为服务定义了 1 个replica,如果一个节点出现故障,Docker 也会自动在另一个节点上启动新任务,这也提供了高可用性。

那么对于任意服务而言,拥有 3 个 replica 实例而不是 1 个实例有什么好处?我的假设是,有了更多的副本,Docker 在发生故障时花费更少的时间在另一个节点上创建新实例,这有助于提高性能。这是正确的吗?

【问题讨论】:

    标签: docker docker-swarm-mode


    【解决方案1】:

    What Makes a System Highly Available?

    高可用性的目标之一是消除单点 基础设施故障。单点故障是 您的技术堆栈中会导致服务的组件 如果它变得不可用就中断。


    让我们以包含单个实例的副本为例。现在让我们假设有一个失败。 Docker Swarm 会注意到服务失败并重新启动它。服务重新启动,但重新启动不是即时的。假设重新启动需要 5 秒。在这 5 秒内,您的服务不可用。单点故障。

    如果您有一个包含 3 个实例的副本怎么办。现在,当其中一个失败(没有服务是完美的)时,Docker Swarm 会注意到其中一个实例不可用并创建一个新实例。在此期间,您仍然有 2 个运行良好的实例为请求提供服务。对于您的服务的用户来说,似乎没有停机时间。该组件不再是单点故障。

    【讨论】:

      【解决方案2】:

      ROMANARMY 的回答非常好,我只想提一下,副本可以位于不同的节点上,因此如果您的一台服务器出现故障(变得不可用),另一台服务器上的容器(副本)可以毫无问题地运行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-24
        • 2011-01-07
        • 1970-01-01
        相关资源
        最近更新 更多