万字长文浅谈系统稳定性建设
内容提要
京东进行期中考试前的模拟考试,以检测系统稳定性。研发阶段关注技术方案评审、关注点、限流、熔断降级、超时、重试、兼容、隔离。代码Review阶段形成团队代码风格、关注代码风格、结对编程、控制review代码量、开放心态。上线阶段需要可监控、可灰度、可回滚。线上问题需发现、响应、定位。
关键要点
-
京东进行期中考试前的模拟考试,以检测系统稳定性。
-
研发阶段关注技术方案评审、代码质量、减少线下bug率。
-
技术方案评审需团队架构师、研发、测试等参与,确保方案合理性。
-
技术方案关注点包括限流、熔断降级、超时、重试、兼容和隔离。
-
限流策略防止系统被流量打垮,常见算法有计数器、漏斗等。
-
熔断保护系统不被下游系统拖垮,降级操作需尽量减少损失。
-
超时设置可避免系统无限等待,需根据历史数据逐步调整。
-
重试机制需控制次数,避免重试风暴,确保接口的幂等性。
-
兼容性分为向前兼容和向后兼容,重构时需注意。
-
隔离措施包括系统层面、环境隔离、数据隔离和读写隔离。
-
代码Review阶段形成团队代码风格,关注代码质量和风格。
-
上线阶段需关注可监控、可灰度和可回滚,降低故障频率。
-
可监控指标包括业务指标和技术指标,需设置合理的告警阈值。
-
可灰度通过分阶段发布降低风险,确保兼容性。
-
可回滚是快速止损的方式,需做好向前兼容性。
-
线上问题应对需识别问题、响应处理、预防和发现问题。
-
问题生命周期包括发现、响应、修复和复盘。
-
问题发现渠道包括自我意识、监控告警和业务反馈。
-
响应问题时需保留现场信息,快速恢复服务并确认恢复情况。
-
定位问题需依赖知识、工具和方法,提升解决问题的效率。
延伸问答
京东如何进行系统稳定性检测?
京东通过期中考试前的模拟考试,包括军演压测和故障演练,来检测系统的稳定性。
在研发阶段,技术方案评审需要哪些参与者?
技术方案评审需要团队的架构师、研发、测试和产品人员参与,以确保方案的合理性和有效性。
限流策略的作用是什么?
限流策略可以防止系统因流量激增而崩溃,确保系统的稳定性。
上线阶段需要关注哪些关键点?
上线阶段需要关注可监控、可灰度和可回滚,以降低故障频率和影响。
如何应对线上问题?
应对线上问题需要识别问题、快速响应、恢复服务并进行复盘,确保问题得到有效处理。
什么是熔断和降级?
熔断是防止系统被下游系统拖垮的措施,而降级是为了减少损失而采取的有损操作。