检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
设计原则 由于故障不可避免,如硬件故障、软件错误、网络延迟、突发流量等,因此在设计高可用应用系统时,必须考虑所有的硬件及系统包括的软件都可能会失效,包括IaaS、PaaS、SaaS及应用系统本身。韧性设计的目标不是试图防止这些故障的发生,而是为了在这些故障发生时,能最大程度地减轻故障对系统造成的影响
常见故障模式 ECS的CPU /内存/磁盘容量/磁盘IOPS使用率过高 检测:通过CES监控CPU/内存/磁盘容量/磁盘IOPS使用率。 恢复: 根据业务情况,手工变更规格以扩展资源或增加ECS实例进行负荷分担。 对于无状态业务,启动AS弹性伸缩,自动扩展资源。 应用层进行过载保护
PERF03-07 选择合适的Kafka 风险等级 中 关键策略 根据生产流量、消费流量、老化时间、副本数等指标,计算业务所需的规格,选择合适的Kafka规格。 规格测算: 性能容量维度所需最小节点数 = max((存储带宽需求 / 单节点存储带宽),(网络带宽需求 / 单节点网络基准带宽
PERF05-03 WEB场景资源优化 风险等级 中 关键策略 对于已经配置好的资源,可以通过优化来提高性能。例如,优化操作系统的设置、调整网络带宽、优化数据库查询等。 云服务资源性能优化步骤包括: 识别性能瓶颈: 通过监控和分析云服务资源使用情况,找出性能瓶颈。 优化资源配置:
常见故障模式 CPU /内存/磁盘/带宽使用率过高 检测:通过CES监控CPU /内存/磁盘/带宽使用率。 恢复: 当CPU/内存使用高时,可根据业务情况,手工修改代理规格或增加代理数量以扩展资源。 当磁盘使用率高时,可根据业务情况,修改实例存储空间支持更大存储空间。 当带宽使用率高时
RES11-01 混沌测试 混沌工程(Chaos Engineering)是通过故障注入的方式,触发或模拟实际故障,验证系统的稳定性和容错保护能力。 风险等级 高 关键策略 在真实环境中测试。 作为CI/CD管道的一部分例行执行。 主动注入故障,以便在问题发生前提前发现并解决问题。
RES11-02 压力负载测试 通过施加超出系统容量的业务压力,验证云服务的过载保护、业务隔离和优雅降级等能力。为全面验证系统整体的容量规划和业务依赖,云服务应用通常采用全链路压测进行测试。 风险等级 高 关键策略 模拟大量接口消息进行压力测试。 模拟各种业务场景进行压力测试。 持续自动测试
云堡垒机(CBH) 云堡垒机(Cloud Bastion Host,CBH)是华为云的一款统一安全管控平台,为企业提供集中的账号(Account)、授权(Authorization)、认证(Authentication)和审计(Audit)管理服务。 云堡垒机提供云计算安全管控的系统和组件
可靠性功能 数据备份和恢复 使用CBR云备份服务可对ECS的备份保护服务,支持基于多云硬盘一致性快照技术的备份服务,并支持利用备份数据恢复ECS数据。详见“云备份概述”。 故障自愈 当ECS支持自动恢复时,可以开启自动恢复能力,当物理服务器损坏时以冷迁移方式重启ECS实例,使弹性云服务器具备高可靠性和强大的动态迁移能力
PERF04-04 资源性能数据收集 风险等级 中 关键策略 每个华为云提供的云服务都有一组特定于资源功能的指标,用于呈现有关资源的使用情况。通过收集资源性能数据,可以深入了解工作负载的运行状况和行为。 指标作用: 帮助你了解资源的运行状况和性能, 在云监控平台上配置对应的告警策略和配置指标看板
问题和检查项 企业在进行应用韧性设计的过程中,推荐使用如下问题寻找自身可以改进的点,并参考检查项/最佳实践进行改进,以下所有检查项,也是最佳实践建议,将在下一章节进行详细描述。 问题 检查项/最佳实践 RES01 您如何使用冗余技术确保应用系统的高可用? 应用组件高可用部署 应用组件多位置部署
云运维中心(COC) 云运维中心(Cloud Operations Center,简称COC)为用户提供安全、高效的一站式智能运维平台,满足客户集中运维诉求。承载华为云确定性运维业务场景,提供变更管理、批量运维等核心特性,实现在安全合规的前提下,提升用户运维能力成熟度和云上运维效率
可靠性功能 数据备份和恢复 使用CBR云备份服务可对BMS的所有云硬盘(系统盘和数据盘)进行备份,支持基于多云硬盘一致性快照技术的备份服务,并支持利用备份数据恢复裸金属服务器数据,最大限度保障用户数据的安全性和正确性,确保业务安全。详见“备份裸金属服务器”。 集群HA 配合共享云硬盘
RES14-01 变更防呆检查 防呆是一种预防矫正的行为约束手段,运用防止错误发生的限制方法,让操作者不需要花费注意力、也不需要经验与专业知识,凭借直觉即可准确无误地完成的操作。 风险等级 高 关键策略 通过以下约束和检查,可减少配置差错: 角色约束:通过权限控制设计预防对不同角色的配置范围进行约束
RES07-01 定义关键指标与阈值并监控 对资源进行监控时,需要先定义资源的关键指标以及对应的阈值,以便快速有效的发现业务表现和系统状态,以便在异常状态下尽早干预恢复,或定位改进系统缺陷。 风险等级 中 关键策略 关键指标需要与系统内工作负载的关键性能指标相关,并能确定为系统性能下降的早期警告信号
RES14-02 自动化变更 自动化变更是指自动化提供并管理应用程序的环境(计算、存储、网络、中间件服务等)、安装、配置,实现Infrastructure as a Code;以解决手工部署中易于出错、依赖个人能力,手工配置中变更无法跟踪、难以回滚等难题。 风险等级 高 关键策略
COST08-04 Serverless探索 风险等级 低 关键策略 Serverless是下一代云原生范式,无服务计算带来简化的开发运维、更少的资源成本,Serverless架构最大限度计算、存储、网络等资源,提升整体资源利用率、缩短需求发布周期,提高应用的研发效率。 用户可以通过云监控服务监控
PERF03-05 选择合适类型的存储云服务 风险等级 中 关键策略 在架构设计过程中,根据业务场景、数据特征等因素,选择相应的存储服务。目前可供您选择的有三种数据存储服务,分别是云硬盘、弹性文件服务(Scalable File Service, SFS)以及对象存储服务(Object
过载控制 系统内组件资源有限,在遇到突发流量时可能会造成资源耗尽,而导致业务受损。 RES13 过载保护 父主题: 韧性支柱
什么是应用韧性 应用韧性是应用系统在运行过程中面对各种异常场景,如基础设施故障(如数据库异常)、外部攻击(如网络DDoS攻击超出预定限额流量)、外部依赖故障(如依赖系统访问超时或不可用)、地域灾难(如大面积停电、洪水)等,仍能提供和维持可接受的服务水平的能力,对系统至关重要。 系统韧性设计主要涉及以下两个方面