【可靠性工程】Microsoft 可靠性模式

简介: 【可靠性工程】Microsoft 可靠性模式

可用性

可用性以正常运行时间的百分比来衡量,并定义了系统正常运行和工作的时间比例。可用性受系统错误、基础设施问题、恶意攻击和系统负载的影响。云应用程序通常为用户提供服务水平协议 (SLA),这意味着必须设计和实施应用程序以最大限度地提高可用性。

Pattern Summary
Deployment Stamps 部署应用程序组件的多个独立副本,包括数据存储
Geodes 将后端服务部署到一组地理节点中,每个节点都可以为任何区域的任何客户端请求提供服务。
Health Endpoint Monitoring 在外部工具可以通过暴露的端点定期访问的应用程序中实施功能检查。
Queue-Based Load Leveling 使用队列作为任务和它调用的服务之间的缓冲区,以平滑间歇性重负载。
Throttling 控制应用程序实例、单个租户或整个服务对资源的消耗。

为了缓解来自恶意分布式拒绝服务 (DDoS) 攻击的可用性风险,请实施本机 Azure DDoS 保护标准服务或第三方功能。

高可用性

Azure 基础架构由地理、区域和可用区组成,它们限制了故障的爆炸半径,从而限制了对客户应用程序和数据的潜在影响。Azure 可用区构造旨在提供软件和网络解决方案,以防止数据中心故障并为我们的客户提供更高的高可用性 (HA)。借助 HA 架构,可以在高弹性、低延迟和成本之间取得平衡。

Pattern Summary
Deployment Stamps 部署应用程序组件的多个独立副本,包括数据存储。
Geodes 将后端服务部署到一组地理节点中,每个节点都可以为任何区域的任何客户端请求提供服务。

Health Endpoint Monitoring


在外部工具可以通过暴露的端点定期访问的应用程序中实施功能检查。
Bulkhead 将应用程序的元素隔离到池中,以便如果一个失败,其他元素将继续运行。
Circuit Breaker 处理连接到远程服务或资源时可能需要不同时间才能修复的故障。

弹性

弹性是系统从疏忽和恶意故障中优雅地处理和恢复的能力。

云托管的性质,其中应用程序通常是多租户的、使用共享平台服务、竞争资源和带宽、通过 Internet 通信以及在商品硬件上运行,这意味着出现瞬时和更永久故障的可能性增加 . 互联网的连接性以及攻击的复杂性和数量的增加增加了安全中断的可能性。

检测故障并快速有效地恢复是保持弹性的必要条件。


Pattern Summary
Bulkhead 将应用程序的元素隔离到池中,以便在其中一个失败时,其他元素将继续运行。
Circuit Breaker 处理连接到远程服务或资源时可能需要花费可变时间来修复的故障。

Compensating Transaction

撤消由一系列步骤执行的工作,这些步骤共同定义了最终一致的操作。

Health Endpoint Monitoring


在外部工具可以定期通过公开端点访问的应用程序中实现功能检查。
Leader Election 通过选择一个实例作为负责管理其他实例的负责人,协调分布式应用程序中协作任务实例集合执行的操作。
Queue-Based Load Leveling 使用队列作为任务和它调用的服务之间的缓冲区,以平滑间歇性重载。
Retry 通过透明地重试以前失败的操作,使应用程序在尝试连接到服务或网络资源时能够处理预期的临时故障。
Scheduler Agent Supervisor 跨一组分布式服务和其他远程资源协调一组操作。
相关文章
|
2月前
|
存储 缓存 负载均衡
软件容错技术和方法在系统中的具体应用
软件容错技术和方法在系统中的具体应用
40 0
|
4月前
|
前端开发
第8期 volta保证团队开发环境的完全统一
第8期 volta保证团队开发环境的完全统一
21 0
|
12月前
|
API UED
【可靠性工程】GCP 可靠性核心原则
【可靠性工程】GCP 可靠性核心原则
|
12月前
|
存储 监控 API
【可靠性工程】GCP 定义您的可靠性目标
【可靠性工程】GCP 定义您的可靠性目标
|
测试技术 数据库
【可靠性测试】什么是可靠性测试:定义、方法和工具
可靠性定义为在特定环境中指定时间段内无故障软件运行的概率。 执行可靠性测试是为了确保软件是可靠的,它满足其目的,在给定的环境中指定的时间量,并能够呈现无故障运行。
|
存储 设计模式 弹性计算
【可靠性架构】可靠性架构第1部分:概念
本故事的目标是提供可靠性的最佳实践来管理您的云环境。尽管它引用了AWS和Cloud,但这些原则同样适用于其他云提供商和内部环境。
|
存储 SQL 监控
【可靠性架构】可靠性架构第3部分:高可用性体系结构
在本节中,我们将回顾一个示例应用程序,并阐述部署架构如何因不同的可用性目标而变化。示例应用程序是一个典型的web应用程序,它具有反向代理、S3中的静态内容、应用程序服务器和SQL数据库。无论我们在容器还是虚拟机中部署它们,可用性设计都保持不变。
|
存储 监控 安全
【SRE】什么是站点可靠性工程?
站点可靠性工程 (SRE) 是将 IT 运营职责与软件开发相结合的结果。对于 SRE,有责任满足为他们管理的服务设定的服务水平目标 (SLO) 和我们在合同中承诺的服务水平协议 (SLA)。
|
网络协议 安全 网络架构
可靠性问题与解决方案/可靠性理解
计算机网络 网络 可靠 TCP
122 0
|
存储 缓存 运维
构建可靠、可扩展与可维护的应用系统
构建可靠、可扩展与可维护的应用系统
2664 0
构建可靠、可扩展与可维护的应用系统