检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
构建高韧性、高可用的应用程序 华为公司结合内部韧性设计经验和业界最佳实践,总结并提炼出一系列体系化设计原则与最佳实践: 帮助客户利用华为云平台基础设施达到高可用、面向各种失败场景进行设计,并具备一定的灾备能力。
系统韧性设计主要涉及以下两个方面: 确保系统具有高可用的架构,如无单点故障 各种故障场景下的恢复能力,如数据丢失、设备或站点故障等场景均能恢复 相对于传统数据中心,华为云可以提供具备高可用、弹性伸缩、自动备份、跨AZ容灾、跨Region容灾等高可用能力的基础设施与云服务,便于客户构建高可靠的系统
设计功能过于复杂的组件,有时候是为了通用,有时候则是一种不好的软件设计习惯。够用原则适用于自己设计或者调用已有的功能,使用时注意避免过度设计。 性能可观测 在业务系统开发维护阶段,采取措施(例如在关键点插入代码,探测器)使测试和分析负载场景、资源需求、性能目标达成一致。
风险等级 高 关键策略 依据系统的安全设计文档,通过验证确保安全措施被正确地集成到系统中,并符合最佳实践和标准。 尽早检视系统的代码(此过程称为代码白盒安全检视),确保代码符合安全最佳实践,避免在后续阶段发现严重的安全漏洞。
RES10-02 应用系统多位置部署 通过将应用系统部署在多个位置,可以避免由于一个位置的基础设施故障而导致系统不可用。 风险等级 高 关键策略 将应用系统的数据和资源部署在多个AZ,可避免单个AZ故障影响业务。
依据零信任原则,需在网络级别验证所有的流量出入。确保网络设备的业务能力、网络每个部分的带宽满足业务高峰期的需要。 风险等级 高 关键策略 在设计网络拓扑时,仔细检查每个组件的连接要求,例如是否需要互联网可访问性(入站和出站)、连接到VPC的能力、边缘服务和外部数据中心等。
系统需要记录关键事件和故障,以帮助诊断问题和解决故障。 风险等级 高 关键策略 对于一个系统来说,日志是非常重要的。它可以记录在系统中发生的一切,包括成功的操作、错误的操作、警告信息等等。因此,日志记录是可观测性设计中最基本的需求之一。
成本分配需匹配业务实质,具体有以下几个原则: 按实际使用者进行分配。即谁使用产生的成本分配给谁,而不是谁购买分配给谁。 基于实际消耗进行分配。
针对每种场景,从以下几个维度进行设计,来达成可用性目标。
进行Grid路由层设计。设计原则如下: 路由层是系统唯一的一个共享组件,因此需要尽可能的稳定,减少修改。 避免业务逻辑,保证尽可能的稳定,减少修改。 由于爆炸半径大,需要足够轻,足够简单,但是不能太简单。 某些情况,要考虑避免路由所有调用,有助于减少延迟,并减小路由层的规模。
要想缩短时间,本质上是监控即发现、监控即定级、监控系统定界、定界即恢复——如果能达成这样的设计就能够形成 MTTR 的最短路径。 父主题: OPS06 可观测性体系
风险等级 高 关键策略 设计态与运行态一致性:对照设计态的架构图、架构文档实施云服务资源。工作负载运行时的架构始终保持与设计态一致。 自动化资产盘点:使用安全云服务或工具来自动发现和记录云上资源,包括主机、存储、数据库、网络等。这样可以确保资产清单的及时性和准确性。
选择合适的数据库资源 华为云提供了多款数据库服务,不同服务的优化方式和注意事项均有差异,可以通过以下四个不同考虑因素入手,选择合适的数据库资源: 兼容性:一般原则是平替迁移,选择云上数据库,是为了利用云上服务使得生产工作更聚焦到应用层,上云前系统中数据库的选型已经过业务实践的检验,
设计建议 整体技术方案会变成标准并进行发布,各个业务系统架构师在设计时遵循这套标准,这样可以保证能力能够从设计态开始,包括运行态、高可用架构等场景中得到应用。 可观测指标可以通过监控工具来实现,并允许在发生异常时发送警报。
问题和检查项 企业在进行应用韧性设计的过程中,推荐使用如下问题寻找自身可以改进的点,并参考检查项/最佳实践进行改进,以下所有检查项,也是最佳实践建议,将在下一章节进行详细描述。 问题 检查项/最佳实践 RES01 您如何使用冗余技术确保应用系统的高可用?
SEC08-01 明确隐私保护策略和原则 明确隐私保护策略和原则是指在处理个人数据时,明确规定和遵守的保护个人隐私数据的总体策略和原则。 风险等级 高 关键策略 明确个人数据的分级及影响。
设计建议 链路跟踪可以通过在系统中添加跟踪标识符来实现。当请求进入系统时,标识符将被添加到请求中,并在整个系统中传递。每个组件都可以将标识符添加到它们的日志中,以便在出现问题时进行故障排除。
韧性支柱 韧性支柱简介 基本概念 设计原则 问题和检查项 高可用设计 故障全面检测 故障快速恢复 过载控制 变更防差错 参考架构 云服务可靠性介绍
在服务产品开发前端构筑能力,进行相关需求规划、设计和开发工作,并在服务上线前进行生产准入审视。 具备以下核心价值: 1)准确评价产品可用性、维护能力并明确相关上线标准;不满足上云标准的服务,原则上不允许上线。
RES13-02 应用系统负载均衡,避免流量不均匀 针对无状态集群业务,通过负载均衡来保证业务均匀分发,可避免部分组件空闲,而部分组件过载而影响业务;同时还可以充分利用系统资源,提高系统性能,改善系统可靠性。