大型网站技术架构演进与性能优化(九)九、网站高可用建设:大型网站的稳定性建设
九、网站高可用建设:大型网站的稳定性建设 稳定性是决定网站生死的命脉 1、故障带来的影响 导致极差的用户体验、严重影响公司声誉 2、网站的可用性指标 网站可用性即网站正常运行时间的百分比,业界用N个9来量化可用性,最常说的是“4个9(99.99%)”。 网站可用性如果对达到4个9基本上就算及格了,即网站一年的不可用时间不超过52分钟。为了保障整个网站的全部服务完全不出错,有必要对服务进行分级,以保障服务的高可用性。 3、稳定性建设思路 稳定性的建设,有两个重要因素:一是思想上重视,开发人员对稳定性的重视可以避免70%-80%的故障;二是规范和工具的建设,用以保障稳定性。 架构阶段的稳定性建设项目:避免单点、分组隔离、异地容灾。 编码阶段的稳定性建设:错误捕获、异步线程、超时处理、限流保护。 测试阶段的稳定性建设:自动化对比测试、Beta测试。 发布阶段的稳定性建设:分批发布、多版本发布。 运行阶段的稳定性建设:实时监控报警、过载保护和自动降级、实时数据对账。 故障发生时的稳定性建设:故障定位、快速恢复。 4、高可用体系化建设 包括压测体系、管控体系、监控体系、恢复体系和度量体系。 压测体系:分为单系统压测和全链路压测。 全链路压测的技术难度并不大,技术手段主要由流量的制造、流量的标记、测试数据的处理。 管控体系主要是遇到一些异常情况时提供保护系统的措施,包括开关系统、预案系统