你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
云应用程序的最佳做法
本文中介绍的最佳做法可帮助你在云中生成可靠、安全且可缩放的应用程序。 它们提供了一系列指南和技巧,用于设计和实现高效可靠的系统、机制和方法。 其中许多做法还包括可与 Azure 服务一起使用的代码示例。 无论你的主机是 Azure 还是其他云平台,这些做法都适用于任何分布式系统。
做法目录
下面的表中列出了各种最佳做法。 “相关构成要素或模式”列包含以下链接:
- 做法和相关设计模式所解决的云开发挑战。
- 做法侧重的 Microsoft Azure 架构良好的框架的构成要素。
实践 | 总结 | 相关构成要素或模式 |
---|---|---|
API 设计 | 通过使用标准协议和商定的数据格式,设计 Web API 以支持平台独立性。 促进服务发展,使客户端可以发现功能而无需修改。 通过支持部分响应并提供数据筛选和分页方法,缩短响应时间并防止暂时性故障。 | 设计和实现、性能效率、卓越运营 |
API 实现 | 实现 Web API,使其高效、响应迅速、可缩放且可用。 使操作具有幂等性,支持内容协商并遵循 HTTP 规范。 处理异常并支持资源的发现。 提供方法来处理大型请求,尽量减少网络流量。 | 设计和实现、卓越运营 |
自动缩放 | 设计应用以动态分配和取消分配资源,满足性能要求并最大程度地降低成本。 利用 Azure Monitor 自动缩放和许多 Azure 组件提供的内置自动缩放。 | 性能效率、成本优化 |
后台作业 | 将批处理作业、处理任务和工作流作为后台作业来实现。 使用 Azure 平台服务托管这些任务。 触发包含事件或计划的任务,并将结果返回给调用任务。 | 设计和实现、卓越运营 |
缓存 | 通过将数据复制到靠近应用的快速存储来提高性能。 缓存你经常读取但很少修改的数据。 管理数据到期情况和并发性。 了解如何填充缓存和使用 Azure Cache for Redis 服务。 | 数据管理、性能效率 |
内容分发网络 | 使用内容分发网络 (CDN),有效地向用户提供 Web 内容,并减少 Web 应用的负载。 应对部署、版本控制、安全性和复原方面的挑战。 | 数据管理、性能效率 |
Data partitioning(数据分区) | 对数据进行分区,提高可伸缩性、可用性和性能,并减少争用和数据存储成本。 以高效的方式使用水平、垂直和功能分区。 | 数据管理、性能效率、成本优化 |
数据分区策略(按服务) | 对 Azure SQL 数据库和 Azure 存储服务(如 Azure 表存储和 Azure Blob 存储)中的数据进行分区。 对数据进行分片以分配负载、降低延迟并支持水平缩放。 | 数据管理、性能效率、成本优化 |
主机名保留 | 了解为何保留反向代理与其后端 Web 应用程序之间的原始 HTTP 主机名很重要,以及如何为最常见的 Azure 服务实施此建议。 | 设计和实现、可靠性 |
消息编码注意事项 | 使用异步消息在系统组件之间交换信息。 选择最适合你的数据的有效负载结构、编码格式和序列化库。 | 消息传送、安全性 |
监视和诊断 | 使用监视和诊断管道跟踪系统运行状况、使用情况和性能。 将监视数据转换为可在各种情况下提供帮助的警报、报告和触发器。 例如,检测和纠正问题、发现潜在问题、满足性能保证以及满足审核要求。 | 卓越运营 |
特定服务的重试指南 | 使用、调整和扩展 Azure 服务和客户端 SDK 提供的重试机制。 制定一种系统化的可靠方法来管理连接、操作和资源方面的临时问题。 | 设计和实现、可靠性 |
暂时性故障处理 | 处理由不可用网络或资源导致的暂时性故障。 应对在制定适当的重试策略时遇到的挑战。 避免复制重试代码层和其他反模式。 | 设计和实现、可靠性 |