检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
本,关联源代码版本和部署的应用版本,在运维阶段,一旦部署在云上的应用发生任何问题,可以方便回溯到源代码,而且方便使用上一版本的源代码回滚到上一版本的应用。 其次,在软件开发生命周期内,推动开发人员采用代码质量最佳实践,例如,使用代码审查或结对编程等最佳实践来提高代码质量,确保每行
概述 本章节介绍常用云服务的可靠性功能与故障模式,以便应用系统能充分利用云服务提供的可靠性能力,提升应用系统的可靠性,并能针对云服务的常见故障模式,进行故障恢复处理,以便最大限度减少故障,并能从故障中恢复。 父主题: 云服务可靠性介绍
RTO与RPO 灾难场景通常采用RTO和RPO目标定义: 恢复时间目标RTO:指灾难发生后应用不可用的最长时间。RTO决定了应用容灾整体架构,是采用数据备份,还是冷备、温备、热备。 恢复点目标RPO:指灾难发生后应用数据丢失的最大时间。RPO决定了数据备份频率或复制方式,是在线备份还是离线备份,是同步复制还是异步复制。
出现问题后尽快恢复业务 应用系统出现故障后,需要能尽快发现,尽快响应。 风险等级 高 关键策略 可以通过以下途径实现故障的快速发现: 监控:应用系统需要提供业务监控信息,以便实时了解系统运行状态;维护团队需要有专人观测,并在发现故障发生时,需要及时响应。 告警:应用系统在检测到故障后需
的人员和时间成本。 为了降低整体成本,优化的工作量必须与潜在的节省额成比例。优化可以从应用占成本的比例考虑。 例如,与占总成本 5% 的应用相比,应更经常、更彻底地审核占总成本 50% 的应用。优化时要考虑的另一个因素是实施更改的工作量。如果测试和验证变更的成本很高,优化的频率应
到最上层的应用分成5层资源,云上服务可以只需要关注虚拟网络、实例、应用三层。结合每一层资源的特征指标进行分层建模,分别设置不同梯度的性能看护指标。通常按照指标劣化程度可以设计成一般、紧急、重要三个梯度,对应每个梯度的指标配套对应的处理措施。对于敏感度或业务重要度的应用架构,可以新增一个提示级别的梯度。
RES07-03 监控到异常后发送消息通知 当对应用系统监控发现应用异常后,需要向相应的人员和系统发送实时通知消息和告警,以便及时处理。 风险等级 中 关键策略 采用实时快捷的消息通知方式,以便相关人员能及时得到消息。 消息发送人员需要涵盖运维人员,以便及时恢复。 运维人员需要有备份,避免单点风险。
根据业务情况,手工变更规格以扩展资源。 开启存储空间自动扩容,以便在磁盘容量不足时自动扩容。 应用层进行过载保护,保障优先业务的运行。 连接后端RDS失败 检测:连接失败。 恢复: 应用层进行重试,以应对暂时性故障,如RDS实例正在进行主备切换时;应用故障重试处理可参考“故障重试”。 当RDS实例由于过载导致网络限制时,可参考“RDS的CPU
禁止使用del命令直接删除大Key 使用del命令直接删除大Key(主要是集合类型)会导致节点阻塞,影响后续请求。 强制 Redis 4.0后的版本可以通过UNLINK命令安全地删除大Key,该命令是异步非阻塞的。 对于Redis 4.0之前的版本: 如果是Hash类型的大Key,推荐使用hscan + hdel
设计原则 由于故障不可避免,如硬件故障、软件错误、网络延迟、突发流量等,因此在设计高可用应用系统时,必须考虑所有的硬件及系统包括的软件都可能会失效,包括IaaS、PaaS、SaaS及应用系统本身。韧性设计的目标不是试图防止这些故障的发生,而是为了在这些故障发生时,能最大程度地减轻
担。 应用层进行过载保护,保障优先业务的运行。 连接后端BMS失败 检测:网络连接失败。 恢复: 至少部署2个后端BMS。对于无状态业务,配置ELB弹性负载均衡保障业务可靠性;对于有状态业务,由应用层实现多实例高可用。 应用层进行重试,以应对暂时性故障,如网络过载时;应用故障重试处理可参考“故障重试”。
开启自动扩缩容,以便在过载时自动扩容规格和/或只读节点。 应用层进行过载保护,保障优先业务的运行。 连接后端云数据库 TaurusDB失败 检测:连接失败。 恢复: 应用层进行重试,以应对暂时性故障,如云数据库 TaurusDB实例正在进行主备切换时;应用故障重试处理可参考“故障重试”。 当云数据库
成本、功能丰富、高可靠的日志平台,提供全栈日志采集、百亿日志秒搜、PB级存储、日志加工、可视化图表、告警和转储等功能,满足应用运维、等保合规和运营分析等应用场景需求。 云日志服务提供多种接入方式实现海量日志接入LTS,支持日志搜索引擎、SQL分析引擎、日志加工引擎,详细请参考下图。
概述 本章节以典型Web应用为例,介绍不同可用性目标要求下部署的典型架构示例。针对每种场景,从以下几个维度进行设计,来达成可用性目标。 类别 应用可用性影响 冗余 应用内组件的高可用能力,在应用内部分节点故障时业务自动恢复能力 备份 应用数据被破坏的情况下的恢复能力 容灾 在Re
对于有状态ECS实例,或BMS实例,建议从应用层实现跨AZ容灾,支持跨AZ自动切换或通过容灾管理工具实现自动化容灾切换,减少灾难发生时的人工操作。 对于已部署的应用系统改造为跨AZ实例的实施步骤: 确定应用系统的关键组件;所谓关键组件是指一旦故障,会导致整个应用系统或其中的关键功能受损。 针
低 关键策略 消息跟踪需要包含消息处理流程中所有组件,以便跟踪结果完整,从而进行准确分析和定位。 相关云服务和工具 应用性能管理 APM:支持调用链追踪,能够针对应用的调用情况,对调用进行全方面的监控,可视化地还原业务的执行路线和状态,协助性能及故障快速定位。 在查询后的调用链列表
的情况下,数据不丢失;对于无状态业务不涉及。 风险等级 高 关键策略 当应用组件对应的云服务实例支持跨AZ高可用实例时,可采用云服务实例自身的跨AZ数据同步;如RDS数据库、DCS实例、OBS桶等。 当应用组件对应的云服务实例不支持跨AZ高可用实例,但提供了同步服务进行跨AZ数据
载测试、压力测试等统称为性能压测。广义而言,是为保证系统运行后的性能可以满足用户需求,而开展的一系列测试组织工作。 在应用系统上线发布之前,通过性能压测,测试应用系统能承受的最大并发、响应速度、以及稳定性是否满足设计要求。同时通过压测合理配置基础设施资源,提高资源利用率。性能压测
双活或多活等。 应用系统要达到可用性目标,需对应用系统内组件及依赖组件进行可用性要求分解,包括: 对依赖组件的可用性要求:通常关键依赖组件需要比其他服务提高一个9的SLO目标,如应用系统SLO目标为99.9%,则关键依赖组件SLO目标要求达到99.99%。 应用系统SLO分解:综
可观测性体系是指在云原生架构中通过使用各种工具和技术来实现对应用程序和基础设施的监控告警、日志、故障排除等功能的一套完整的解决方案。性能可观测体系在此基础上突出了性能指标,通过收集和分析性能数据,可以识别系统瓶颈、优化资源分配等,找到性能优化方向。 性能监控对象:服务器、操作系统、数据库、应用程序、网络设备、云服务。