你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
设计工作负荷体系结构时,应使用行业模式来解决常见挑战。 模式有助于进行有意权衡,并针对所需结果进行优化。 它们还有助于缓解可能影响可靠性、安全性、性能和成本的风险。 由于操作跨越所有这些领域,未管理的风险最终会显现为运营负担或故障。 这些模式在实际云环境中得到证实,使用现代运营模型进行缩放,本质上是与供应商无关的。 对已知模式进行标准化本身就是卓越运营的做法。
许多模式增强了一个或多个 Azure Well-Architected 框架的支柱。 具体而言,对于卓越运营,模式通常提供拓扑,以实现安全部署实践、增量演变、受控迁移和可观测性。
下表总结了支持卓越运营目标的体系结构设计模式。
| 图案 | 概要 |
|---|---|
| 反腐层 | 通过将中介层添加到旧组件与新组件之间的代理交互,防止新系统组件的行为或实现选择。 此模式有助于确保在与这些旧系统集成时,新组件设计不受传统实现的影响,这些实现可能具有不同的数据模型或业务规则。 此模式在逐步系统迁移中特别有用。 它减少了新组件中的技术债务,同时仍支持现有组件。 |
| 编舞 | 使用分散式事件驱动的通信协调工作负荷中自主分布式组件的行为。 在工作负荷的生命周期内经常更新或替换服务时,此模式非常有用。 由于分布式组件是自治的,因此可以修改工作负荷,对系统的总体更改更少。 |
| 计算资源合并 | 通过增加密度优化和合并计算资源。 此模式结合了共享基础结构上工作负荷的多个应用程序或组件。 合并会导致更同质的计算平台,它可以简化管理和可观测性,减少作任务的不同方法,并减少所需的工具量。 |
| 部署戳 | 根据假设将相同或不同的版本同时部署,提供一种方法,用于发布应用程序的特定版本及其基础结构作为受控部署单元。 此模式与不可变的基础结构目标保持一致,支持高级部署模型,并有助于安全部署实践。 |
| 外部配置存储 | 将配置提取到外部化到应用程序的服务,以支持对配置值的动态更新,而无需更改代码或重新部署应用程序。 应用程序配置与应用程序代码的这种分离支持特定于环境的配置,并将版本控制应用于配置值。 外部配置存储也是管理功能标志以实现安全部署做法的一个常见位置。 |
| 网关聚合 | 通过在单个请求中聚合对多个后端服务的调用,简化了客户端与工作负荷的交互。 此拓扑使后端逻辑能够独立于客户端发展,从而允许更改链接的服务实现,甚至数据源,而无需更改客户端触摸点。 |
| 网关卸载 | 将请求转发到后端节点之前和之后,将请求处理卸载到网关设备。 将卸载网关添加到请求过程使你可以从单一点管理卸载功能的配置和维护,而不是从多个节点管理它。 |
| 网关路由 | 根据请求意向、业务逻辑和后端可用性,将传入的网络请求路由到各种后端系统。 网关路由使你可以将请求与后端分离,这反过来又使后端能够支持高级部署模型、平台转换,以及传输中域名解析和加密的单一管理点。 |
| 运行状况终结点监视 | 提供一种通过公开专为该目的设计的终结点来监视系统的运行状况或状态的方法。 标准化要公开的运行状况终结点以及结果中的分析级别,有助于对问题进行会审。 |
| 消息传送桥 | 提供一个中介来启用消息传送系统之间的通信,而消息系统因协议或格式而不兼容。 当在工作负荷中转换消息传递和事件技术或从外部依赖项获得异类要求时,这种分离可提供灵活性。 |
| 发布服务器/订阅服务器 | 通过将直接客户端到服务或客户端到服务通信替换为通过中间消息代理或事件总线进行通信来分离体系结构的组件。 此间接层可让你安全地更改发布服务器或订阅服务器上的实现,而无需协调对两个组件的更改。 |
| 检疫 | 在授权在工作负荷中使用外部资产之前,确保外部资产满足团队同意的质量级别。 这些检查的自动化和一致性是工作负荷软件开发生命周期和安全部署实践(SDP)的一部分。 |
| Sidecar | 通过将非主任务或交叉任务封装在与主应用程序一起存在的配套进程中来扩展应用程序的功能。 此模式提供了一种实现工具集成的灵活性的方法,该工具集成可能会增强应用程序的可观测性,而无需应用程序采用直接实现依赖项。 它使 Sidecar 功能能够独立发展,并独立于应用程序的生命周期进行维护。 |
| Strangler Fig | 提供一种方法,用于系统地将正在运行的系统的组件替换为新组件,通常在系统迁移或现代化过程中。 此模式提供了一种持续改进方法,其中增量替换随时间推移而进行的小变化是首选的,而不是风险较大的系统性变更。 此模式还支持旧终结点的安全退役:只有在更换流满足可靠性和可观测性目标后,才能对旧终结点进行测量、清空和删除。 |
后续步骤
查看支持其他 Azure Well-Architected 框架支柱的体系结构设计模式: