【问题标题】:IIS Process Vs Container ProcessIIS 进程与容器进程
【发布时间】:2019-06-14 03:17:18
【问题描述】:

我想了解 Docker 容器进程和 IIS 进程之间的区别是什么?从容器的角度来看,在一个容器中拥有多个进程是不可取的,在 IIS 中你也不能这样做。每个应用程序都在它自己的进程中执行。因此,如果 IIS 为我提供相同的进程隔离,那我为什么要使用容器?

【问题讨论】:

  • 如果您有现有的非 Docker 生产工作流程,我会坚持使用它。我知道 Docker 所做的与高端 Java 应用程序服务器之间有很大的重叠,以及 Erlang 的分布式计算机制,在裸机或 VM 上使用这些设置可能比尝试在中间添加 Docker 更容易它。
  • IIS 隔离在高级情况下无济于事(例如 .NET Framework 隔离),但 Docker 容器隔离可以。因此,使用什么很大程度上取决于您的要求。

标签: docker iis process isolation


【解决方案1】:

虽然 iis 上的每个应用程序都是进程隔离,但 docker 提供了另一层隔离,其中使用的内存和内核访问也是隔离的。请记住,容器包含运行某些东西所需的一切,包括操作系统。唯一的问题是物理操作系统内存和内核一起使用,例如 vm-s 的情况。因此,在某种程度上,容器为您提供了更高的隔离性,而不仅仅是为应用程序提供单独的进程。

但这不是容器的主要卖点。主要卖点是它们是可扩展的解决方案,基本上是基础设施即代码,因此更易于在任何环境中管理和部署。这也意味着无论您将其部署到何处,它都可以正常工作,因为您将所有需要的东西都包含在其中。如果您的应用通过负载平衡处理大量流量,您可以在集群中部署多个同一个容器,而不会遇到这些瓶颈。

第二点是,在开发过程中,有历史数据记录了添加到容器中的内容和移除内容以拥有稳定的环境。这一点以及与 prod 实例一起部署 dev 实例并进行切换的能力使得它可以将意外错误的停机时间减少到最小,因为您可以重定向到旧的 prod 容器,直到修复完成。

那里有点咆哮,但还有更多。

【讨论】:

    猜你喜欢
    • 2015-03-09
    • 2015-03-12
    • 2011-12-04
    • 2012-10-22
    • 2015-09-14
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 2018-11-09
    相关资源
    最近更新 更多