【问题标题】:Dependency Isolation meaning依赖隔离意义
【发布时间】:2020-09-17 11:08:35
【问题描述】:

我正在阅读12-factor-app manifesto,我现在在依赖项部分。 不过,依赖隔离是我无法理解的。

不幸的是,没有给出具体的定义,除了 12-factor-apps 应该“在执行过程中使用依赖隔离工具来确保没有隐式依赖从周边系统”。

在寻找答案时,我只是在寻找有关如何在特定语言/框架中实现依赖隔离的问题。

也许这只是我对英语理解的限制,但是有人可以启发我吗?

【问题讨论】:

    标签: architecture dependencies isolation 12factor


    【解决方案1】:

    假设您正在使用 Python 构建应用程序。您决定使用 Django 网络框架。 在您开始使用pip install django 安装Django 时。 Django 3.1 已安装在您的本地系统上。

    两个月后,您决定在服务器上托管 Django 项目。您通过pip install django 安装django。这次安装了 Django 3.3。由于版本升级,您的代码可能会中断。

    为避免此类情况,建议注意 Django 和 Python 的版本。您可以在requirement.txt或piplock文件中添加Django版本。

    【讨论】:

    • 我非常喜欢这个答案!不过,我想知道:这只是一个例子吗?或者像这样的情况真的是依赖隔离出现在宣言中的原因吗?
    • 几个月后我接受了这个答案,我有了更多的经验。非常感谢你!我仍然有兴趣知道该术语适用的其他示例(如果存在)。
    • 这种情况经常发生,这就是我们有 docker/container(并在 12fa 中明确调用)的原因,因此我们可以隔离依赖关系并创建一个适用于所有人的统一环境。
    【解决方案2】:

    应用程序依赖项应该由应用程序构建本身管理,而不是从外部或单独管理。可以使用 maven pom.xml 或 gradle.build 或 package.json 或 Gemfile 等工具

    【讨论】:

      猜你喜欢
      • 2018-09-04
      • 1970-01-01
      • 1970-01-01
      • 2013-12-08
      • 2018-07-18
      • 1970-01-01
      • 1970-01-01
      • 2022-12-13
      • 2018-04-10
      相关资源
      最近更新 更多