九、网站高可用建设:大型网站的稳定性建设
稳定性是决定网站生死的命脉
1、故障带来的影响
导致极差的用户体验、严重影响公司声誉
2、网站的可用性指标
网站可用性即网站正常运行时间的百分比,业界用N个9来量化可用性,最常说的是“4个9(99.99%)”。
网站可用性如果对达到4个9基本上就算及格了,即网站一年的不可用时间不超过52分钟。为了保障整个网站的全部服务完全不出错,有必要对服务进行分级,以保障服务的高可用性。
3、稳定性建设思路
稳定性的建设,有两个重要因素:一是思想上重视,开发人员对稳定性的重视可以避免70%-80%的故障;二是规范和工具的建设,用以保障稳定性。
架构阶段的稳定性建设项目:避免单点、分组隔离、异地容灾。
编码阶段的稳定性建设:错误捕获、异步线程、超时处理、限流保护。
测试阶段的稳定性建设:自动化对比测试、Beta测试。
发布阶段的稳定性建设:分批发布、多版本发布。
运行阶段的稳定性建设:实时监控报警、过载保护和自动降级、实时数据对账。
故障发生时的稳定性建设:故障定位、快速恢复。
4、高可用体系化建设
包括压测体系、管控体系、监控体系、恢复体系和度量体系。
压测体系:分为单系统压测和全链路压测。
全链路压测的技术难度并不大,技术手段主要由流量的制造、流量的标记、测试数据的处理。
管控体系主要是遇到一些异常情况时提供保护系统的措施,包括开关系统、预案系统、限流降级系统等。
监控体系:是稳定性建设的必备措施,它可以分为多个子系统:异常智能监控系统、调用链路跟踪系统、端到端的链路染色系统、业务数据轨迹重现系统、业务数据对账系统等。
恢复体系:最简单的方式就是回滚以及执行变更操作。
度量体系:性能基线、链路基线、成本基线。
5、研发人员的转变
向全栈工程师转变、向全链路运维转变、向工具化和规范化转变
6、稳定性组织保障
稳定性建设是比较难的任务,如果平时运行良好,很难申请到资源支持;但是一旦出现问题,压力就非常大。稳定性保障是个苦差事。
来源:CSDN
作者:我是索隆
链接:https://blog.csdn.net/u011915230/article/details/104203002