10、基础设施依赖管理模式解析

基础设施依赖管理模式解析

1. 依赖注入

使用基础设施 API 存在一些缺点。基础设施即代码(IaC)需要网络访问,在运行 IaC 之前,无法得知属性的值,因为代码必须向 API 发出请求。如果基础设施 API 出现故障,IaC 可能无法解析低级资源的属性。

通过依赖倒置添加抽象层,可以保护高级资源免受低级资源属性变化的影响。虽然无法防止所有故障或中断,但可以最大程度减少因低级资源更新而可能导致的故障影响范围。可以将其视为一种契约:如果高级和低级资源就所需的属性达成一致,它们就可以相互独立地发展。

依赖注入结合了控制反转和依赖倒置的原则。高级模块或资源通过抽象层从低级模块或资源调用属性。以下是依赖注入的应用步骤:
1. 调用低级模块。
2. 低级模块输出所有资源元数据。
3. 获取元数据并解析所需属性。
4. 使用解析后的属性创建高级资源,如服务器。

graph LR
    A[调用低级模块] --> B[低级模块输出资源元数据]
    B --> C[获取并解析元数据]
    C --> D[创建高级资源]

以下是使用 Apache Libcloud 实现服务器和网络示例的依赖注入代码:

import credentials
import ipaddress
import json
from libcloud.compute.types import Provider
from libcloud.compute.p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值