你当前正在访问 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 应用负载。 克服部署、版本控制、安全性和复原能力挑战。 | 性能效率 |
数据分区 | 对数据进行分区以提高可伸缩性、可用性和性能,并减少争用和数据存储成本。 以高效方式使用水平分区、垂直分区和功能分区。 | 性能效率,成本优化 |
数据分区策略(按服务) | 在 Azure SQL 数据库 和 Azure 存储 服务中对数据进行分区,如 Azure 表存储 和 Azure Blob 存储。 将数据分片,以分配负载、降低延迟并支持水平缩放。 | 性能效率,成本优化 |
主机名保留 | 了解为什么在反向代理与其后端 Web 应用程序之间保留原始 HTTP 主机名,以及如何为最常见的 Azure 服务实现此建议非常重要。 | 可靠性 |
消息编码注意事项 | 使用异步消息在系统组件之间交换信息。 选择最适合数据的有效负载结构、编码格式和序列化库。 | 安全性 |
监视和诊断 | 使用监视和诊断管道跟踪系统运行状况、使用情况和性能。 将监视数据转换为有助于各种情况的警报、报告和触发器。 示例包括检测和更正问题、发现潜在问题、满足性能保证和满足审核要求。 | 卓越运营 |
特定服务的重试指南 | 使用、调整和扩展 Azure 服务和客户端 SDK 提供的重试机制。 制定一种系统且可靠的方法来管理连接、操作和资源临时问题。 | 可靠性 |
暂时性故障处理 | 处理因网络或资源不可用导致的暂时性故障。 在制定适当的重试策略时克服挑战。 避免复制重试代码层和其他反模式。 | 可靠性 |