1、 整体治理思路
主要从4个方面进行『服务稳定性治理』:质量控制、监测能力、高可用建设、应急预案
2、 质量控制
在针对『质量控制』部分展开之前,先了解下『戴明质管理法』:
戴明质管理法:
由戴明提出创造产品与服务改善的恒久目的等要点,广泛应用于国际质量管理理论和方法;『戴明质量管理法』引入日本后,对日本的质量控制和经济发展产生了深远的影响,成为日本经济奇迹背后的驱动力之一;『戴明质量管理法』强调的是一种持续改进的文化,通过团队的合作和创新思维,不断寻找提高质量的方法;
在『服务稳定性治理』中,质量控制是前置、是基础,要贯穿整个『业务迭代』流程;基于过往的经验,主要有如下几个思路可供参考:
3、 监测能力
监测能力需要分场景、分级建设,主要从如下几个方面建设:
4、 高可用建设
主要从:自动扩容、隔离、重试、降级、超时、限流等方面展开简要介绍;
高可用能力项 |
能力项说明 |
主要功实施思路 |
实施建议 |
自动扩容 |
在流量徒增变化时,支持系统自动扩容,快速满足突然业务场景 |
基于PaaS平台能力,联动业务流量和可用性指标 |
在『监测能力』建设完备后可快速实施; |
隔离 |
通过隔离,系统能够局部化问题,确保局部的问题不会影响到全局系统; |
数据隔离: 动静隔离 读写隔离 分级隔离: 核心隔离 热点隔离 用户隔离 服务隔离: 服务器 机房 集群 |
可以基于业务特点选取部分隔离能力建设,而不是大而全,需考虑实施的ROI; |
重试 |
对于网络抖动这种情况,解决的办法之一就是重试;但是可能会存在风险 |
重试方式: 同步重试 异步重试 最大重试次数: 应评估系统的实际情况和业务需求来设置最大重试次数 退避策略: 线性间隔 动态策略间隔 |
考虑实际业务场景选择对应实施方案 |
降级 |
降级是通过人为或自动将某些不重要的功能去掉或简化,去支撑核心功能,这里可能会牺牲部分用户体验。 |
自动降级: 根据接口超时时间 根据服务可用性指标 根据资源利用率 手动降级: 降级风险较大(核心服务 & 安全法规风险等),需要人工介入
|
自动降级需要经过有效的演练确保执行的有效性,避免对业务造成不必要的影响 |
超时 |
服务直接的调用超时设置,有效的超时时间可以在『可用性』和『用户体验』上做到较好的平衡 |
固定超时: 相对稳定,但是不灵活 动态超时策略: 相对灵活但实施有一定成本,动态超时策略需要测试评估设定;
|
基于业务场景灵活选取,固定超时基于服务耗时『90分位』、『95分位』设置固定超时时间即可满足同城业务需求 |
限流 |
当系统的处理能力有限时,且自动扩容能力无法快速满足时,通过实施限流可以保证核心业务场景的『可用性』; |
客户端限流: 令牌桶 漏桶 服务端限流: 可实施分级限流,基于令牌桶、漏桶等; |
基于业务场景,在应对突发场景时需要具备一定的限流能力 |
5、 应急预案
核心业务服务故障处置预案:针对『核心业务服务』指定专门故障处置预案,并做仿真演练,故障发生时可高效处理;
故障恢复演练:针对常见的故障提前定制化『恢复预案』,做到能够快速、高质的故障恢复;
突发流量处置预案:在流量突发场景,提前做好『预案』,能够应对核心业务场景的潜在风险;
常态化CCB回滚演练:针对CCB流程,需要做到定期演练,在因发布问题引起的线上问题时,可以高效的做到快速回滚,将对线上业务影响降到最低;