你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
可靠性模式
可用性
可用性按运行时间的百分比度量,并定义系统正常运行的时间比例。 可用性受系统错误、基础结构问题、恶意攻击和系统负载的影响。 云应用程序通常向用户提供服务级别协议 (SLA),这意味着必须设计和实现应用程序以最大程度地提高可用性。
| 模式 | 总结 |
|---|---|
| 部署戳 | 部署应用程序组件的多个独立副本,包括数据存储。 |
| Geodes | 将后端服务部署到一组地理节点,其中的每个节点可为任何区域中的任何客户端请求提供服务。 |
| 运行状况终结点监视 | 在应用程序中实施可让外部工具通过公开终结点定期访问的功能检查。 |
| 基于队列的负载调控 | 使用队列在任务和它调用的服务之间充当缓冲,以平滑间歇性的负载。 |
| 限制 | 控制应用程序实例、单个租户或整个服务的资源消耗情况。 |
要缓解恶意分布式拒绝服务 (DDoS) 攻击的可用性风险,请实现本机 Azure DDoS 防护标准服务或第三方功能。
高可用性
Azure 基础结构由地理位置、区域和可用性区域组成,可以遏制故障的冲击半径,从而限制对客户应用程序和数据造成的潜在影响。 开发 Azure 可用性区域构造的目的是提供软件和网络解决方案来防范数据中心故障,并进一步为客户提供高可用性 (HA)。 借助 HA 体系结构,可在高复原、低延迟和成本之间取得平衡。
| 模式 | 总结 |
|---|---|
| 部署戳 | 部署应用程序组件的多个独立副本,包括数据存储。 |
| Geodes | 将后端服务部署到一组地理节点,其中的每个节点可为任何区域中的任何客户端请求提供服务。 |
| 运行状况终结点监视 | 在应用程序中实施可让外部工具通过公开终结点定期访问的功能检查。 |
| 隔层 | 将应用程序的元素隔离到池中,这样,如果一个元素发生故障,其他元素可继续工作。 |
| 断路器 | 连接到远程服务或资源时处理故障,此类故障所需修复时间不定。 |
复原
复原能力是指系统能够正常处理意外故障和恶意故障并从中恢复的能力。
由于云托管的性质(应用程序通常是多租户的、使用共享平台服务、争用资源和带宽、通过 Internet 通信、在市售硬件上运行),出现暂时性故障和持久性故障的可能性增大。 Internet 的连接性质,以及攻击复杂程度和数量的增加会抬高安全中断的可能性。
快速高效检测故障并恢复的能力是保持复原能力所必需的。
| 模式 | 总结 |
|---|---|
| 隔层 | 将应用程序的元素隔离到池中,这样,如果一个元素发生故障,其他元素可继续工作。 |
| 断路器 | 连接到远程服务或资源时处理故障,此类故障所需修复时间不定。 |
| 补偿事务 | 撤销一系列会共同定义最终一致操作的工作。 |
| 运行状况终结点监视 | 在应用程序中实施可让外部工具通过公开终结点定期访问的功能检查。 |
| 领导选择 | 通过选拔一个实例作为领导来负责管理其他实例,协调分布式应用程序中协作性任务实例集合所执行的操作。 |
| 基于队列的负载调控 | 使用队列在任务与所调用的服务之间充当缓冲,从而缓解间歇性负载过大现象。 |
| 重试 | 当应用程序尝试连接到服务或网络资源时,使应用程序能够通过以透明方式重试先前失败的操作来处理预期的临时故障。 |
| 计划程序代理监督程序 | 跨一组分布式服务和其他远程资源协调一组操作。 |