网易云音乐稳定性保障体系

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 评估容量,验证过载保护措施 • 建立性能基线,把控迭代过程质量
• 完善依赖关系拓扑 • 验证强弱依赖合理性
稳定性保障体系 依赖治理实践 故障演练实践 后续规划
依赖治理思路
定义
当依赖节点出现问题时,对系统核心业务数据、可用性产生影响,该依赖即为强依赖,反 之为弱依赖
用途
整改不合理强依赖关系,提升系统健壮性;验证弱依赖降级策略,提升系统自愈能力 完善依赖关系拓扑,帮助诊断故障根因、容量变化趋势
在音乐APP中首个上线
短视频功能
2016.07
用户数突破3亿
用户数突破4亿
2017.03
用户数突破2亿
2017.09
2017.04
2017.11
上线自制精品付费电台
进军知识付费领域
主办国内首个独立 音乐人盛典硬地围炉夜
2017网易云音乐
原创盛典
5.0版本上线, 全新升级视频页面
全新社区版块“云村”
用户数突破8亿
• 故障下发后
• 核心功能正常 • 评论用户不显示头像挂件 • 会员不能对付费资源评论
• 故障恢复后
• 业务恢复正常 • 系统容量恢复正常
故障演练成果
质量
• 用例数 500+ • 预案数 200+ • 故障类型 50+ • 发现问题数 150+
效率
• 一键执行,产出报告 • 服务端演练自动化 • 节省人力 5h/场景
依赖治理实践
流量录制回放
流量检索
故障注入
规则匹配
依赖分析
大盘审计
依赖治理实践
应用维度的依赖关系 判断应用间的耦合关系、提供依赖容量评估依据
依赖治理实践
api/rpc维度的依赖关系 应用于故障分析诊断、降级方案设计
依赖治理实践
引入工作流,管控治理进展
依赖治理实践
大盘展示依赖风险 每日自动检测不合理依赖,提供定位信息
依赖治理成果
质量
• 用例数 16w+ • 链路覆盖率 80%+ • 发现问题数 300+
效率
• 每天全量自动化执行 • 全量执行耗时 4h • 节省人力 1h/功能点
稳定性保障体系 依赖治理实践 故障演练实践 后续规划
故障演练思路
定义
为提高系统高可用性和训练人员应急处置能力,根据故障用例和故障恢复预案,进行演习 的过程
网易云音乐稳定性保障体系
稳定性保障体系 依赖治理实践 故障演练实践 后续规划
网易云音乐产品介绍
网易云音乐正式上线 定位音乐社交和移动社区
用户数突破1亿
3.0版上线
全面推进个性化
2014.02
2015.10
2013.04
2015.07
网易云音乐2.0版上线
增加私人FM
网易云音乐4.0版上线
有状态中间件:要求自愈
模块不可用用户比例
业务影响范围 资损影响用户比例 资损金额
故障恢复
恢复效果:业务恢复、容量恢复、数据恢复如初 恢复时间:30min
故障演练思路
故障演练实践
环境标准化:用完即抛,机器共享 演练环境隔离:支持多套测试环境、线上环境,不影响正常测试工作
故障演练实践
代码级故障注入 系统级故障注入
场景管理 梳理数专评论页的所有接口,对接口定级
故障演练实践
演练环境 根据接口链路信息,自动创建测试环境
演练任务 选择故障注入点和故障类型,批量创建演练任务
故障演练实践
验证评论服务在数专服务 故障时的应急预案
• 数专服务rpc异常
• 评论服务client注入数专 rpc错误,远程调用失败
标准化
• 中间件高可用标准 • 双机房部署标准 • 资源隔离标准
稳定性保障体系 依赖治理实践 故障演练实践 后续规划
后续规划
发现
稳定性 意识
复盘
恢复
实战演练为抓手 方法论、工具链为基础
高效、可持续管控稳定性风险
预防
高可用组件 标准化部署 资源使用优化
发现 恢复
演练
充分暴露不稳定因素 训练强化人员稳定性意识 撬动开发、测试、运维协作闭环
稳定性保障体系
准入条件 准入条件
故障演练 流量演练 依赖演练
• 验证系统故障恢复能力、预案完备性和有效性 • 真实操练,训练人员应急处置能力
• 线上系统复杂度,指数级增长 • 稳定性保障工作覆盖面广且杂,任意环节没有做到位,都能引起大事故
稳定性意识
• 线上故障是低频偶发事件,ROI不明确,在迭代过程中以业务产出为导向,稳定性工作容易被忽视 • 稳定性意识周期性波动,由低频事故强化意识+随着时间淡薄,稳定性专项推进困难
稳定性治理思路
预防
故障演练实践
参数配置:故障注入对象、故障类型 下发通道:故障命令执行器 目标策略:注入对象的集群故障比例 预期指标:故障时及故障恢复后的预期表现
故障演练实践
记录演练过程的关键事件 监控系统表现、流量表现,后续打通业务指标
故障演练实践
基于用户场景,设计演练任务
故障演练实践
背景压力 施加在系统或模块的 性能测试流量,模拟 系统真实运行状态
故障注入 • 代码级别 • 系统级别 • 机房级别
故障演练思路
指标项
验收标准
SLO
故障演练实施后,达到99.99%
发现时间 故障发现到人员响应在15min内
止血时间
自愈时间15s 人工止血5min
应用层:调用链路双向不影响 故障影响范围 无状态中间件:不允许出现全局性影响
2018.01
2018.03
2019.08
2019.08
稳定性治理挑战
随着云音乐业务高速发展,系统稳定性要求越来越高,相应地,对稳定性测试工作提出了挑战
流量冲击
• 日常流量保持高位运行,对系统可用性要求高,稍有不慎,引发舆论危机 • 云音乐的社交属性,有传播发酵的天然优势,小活动也能带来流量裂变
系统复杂
依赖治理思路
服务强wenku.baidu.com依赖
• 接口/应用维度 • 梳理服务上下游之间的强弱依赖关系 • 推动依赖关系治理,提高服务稳定性
场景强弱依赖
• 场景维度 • 梳理场景与服务间的强弱依赖关系 • 明确业务影响范围,推动客户端稳定性保障
指标项 服务强依赖
服务弱依赖
场景强依赖 场景弱依赖
验收标准 高级别应用不允许强依赖低级别应用 P0资源层(业务方定义)允许被强依赖,非P0资源层不允许被强依赖 弱依赖断言返回码200(磐石平台默认值),可根据业务实际情况调整断言 弱依赖降级预案不允许影响用户体验,且自动触发 场景不允许强依赖非P0接口 弱依赖降级预案不允许影响用户体验,且自动触发
相关文档
最新文档