cms建设网站,网络培训平台建设方案,烟台网亿网络科技有限公司,网站建设遵循原则目录
架构阶段的稳定性建设项目
编码阶段的稳定性建设
测试阶段的稳定性建设
发布阶段的稳定性建设
运行阶段的稳定性建设项目
故障发生时的稳定性建设 网站稳定性的建设是一项综合的系统工程#xff0c;就像人的健康一样#xff0c;如果平时不注意健康饮食、不注意锻炼…目录
架构阶段的稳定性建设项目
编码阶段的稳定性建设
测试阶段的稳定性建设
发布阶段的稳定性建设
运行阶段的稳定性建设项目
故障发生时的稳定性建设 网站稳定性的建设是一项综合的系统工程就像人的健康一样如果平时不注意健康饮食、不注意锻炼时间 长身体肯定会出问题对稳定性的考量也是贯穿整个研发生命周期的如下图 在网站的架构设计时就要考虑稳定性 考虑到网络光纤有可能被挖断如果只有一个 房那就悲剧了 100% 流量都没了 甚至要考虑自然灾害的影响而多地建设机房稳定性的建设中有两个重要因素一是思想上重视开发人员对稳定性的重视也就是敬畏之心可以避免 70% 的故障二是规范和工具的建设用以保障稳定性。
架构阶段的稳定性建设项目
一个网站要有好的稳定性必须在架构设计阶段就做长远考虑就像建房子要先打好基础一样否则楼建得越高越危险。 建设高稳定性的架构必须注意以下几点 避免单点 高可用架构设计的第一条就是要避免单点从概率出发来 无论是机器还是人没有什么东西是不会犯错的 避免某个完整的环节成为单点是架构设计的原则但是在某些场景中有些功能必须放在同一个应用中例如统一登录、 网关 、安全过滤等 此时要保证尽 按照人群来划分不要在逻辑上出现单点或者尽 把服务拆成组件迁到不同的端上执行例如可以把安全服务作为 个模块集成 Nginx 或者应用机器中而不是把它做成一个远程服务接口。 分组隔离 把应用拆得更细一点不同的功能模块做成单独的分组每个分组占用一部分机器集群这样可以做到服务分组隔离避免不太重要的分组对重要分组的 现在非常流行的微服务就是一种非常好的分组隔离的实践。 异步化 在系统设计中要让尽可能多的远程调用异步化这 是一项重要原则很多时候会因为一个不太重要的功能的强依赖拖垮了整个应用所以要尽量把不太重要的依赖改成异步调用避免影响主调用链路的稳定性。 异地容灾 考虑到很多不可抗力因素 影响我 需要设计网站的 地容灾甚至全球部署策略这些不可抗力的事件往往会影响网站的整个架构必须做长远打算。
编码阶段的稳定性建设
编程阶段的稳定性建设尤其重要 个好的程序在编码阶段就决定了整个应用系统的质 所以在编码阶段要注意下面一些规则 错误捕获 一个优雅的系统必然有一套优雅的异常处理机制在适当的地方如I/O 处理、远程调用、多线程等关键处捕获异常非常重要防御性编程可以更好地保证系统的健壮性 异步线程 在一些批处理调用的地方采用异步线程可以保证主请求的正常返回同样也可以做到部分的隔离防止部分请求挂起整个应用 超时处理 在远程调用或者调用外围设备时非常有必要设定超时时间这样可以保证所有的请求都有一个可预知的返回结果 限流保护 每个应用都有一个承载极限超过这个极限就会带来很大的不确定性因此设置自我保护机制可以保证程序的健壮性
测试阶段的稳定性建设
测试是程序上线前的最后一道保障测试也是验证程序是否达到预期功能的手段在本阶段要注意以下事项 自动化对比测试 对比测试就是用线上真实的环境和数据与预发环境对相同的业务接口做返回值的比较以此判断新上线的代码是否符合预期。 Beta 测试 在线上的真实环境中选取若干台机器通过绑定 VIP 的方式访问此机器上的数据以此验证程序是否正确。
发布阶段的稳定性建设
发布阶段稳定性建设应留意以下事项 分批发布 分批发布可以降低发布风险不仅可以减少系统部署重启引起的RT 抖动也可以在发现问题时 即终止发布 多版本发布 合并部署是将多个应用系统同时部署在同 Web 容器实例中共享同 个进程每个应用之间相互隔离但是应用之间的 RPC 是通过本地调用而不通过网络调用。
运行阶段的稳定性建设项目
运行阶段稳定性建设要做好几件事实时监控报警、过载保护和自动降级、实时数据对账核心原则是实时发现问题提供必要的保护措施。 实时监控报警 线上监控必须包含系统监控主要是监控服务器的 CPU Loa磁盘、内存等一些系统指标的异常情况应用监控主要是监控响应时间、 QPS异常错误等业务监控主要是监控一些业务指标是否有异常如实时的下单量、司机和乘客的在线数量业务指标。 过载保护和自动降级 线上运行中的系统需要有一些保护措施如系统的某些指标达到瓶颈时要有必要的保护 Loa 达到系统的最高瓶颈时需要拒绝一些请求以防止系统被压垮涉及 些远程调用时可以设置最大并发数一旦超过该阀值就自动 fast fail 以保护系统。 实时数据对账 这属于业务监控范围 在涉及 些敏感信息时为了确保正确性需要有实时的对账校验最典型的就是资金数据以及涉及跨单元数据复制时对数据一致性的对账检查.
故障发生时的稳定性建设
一旦发生故障最重要的就是快速止损、定位故障并快速恢复 按照经验当故障发生时第一反应就是快速回滚了解故障现象根据故障现象判读故障原因进而找出解决办法。 减少故障的定位时间和快速恢复策略在故障发生时是至关重要的。 故障定位 快速定位故障可以缩短故障的恢复时间 如何定位故障据统计90% 的故障都是由变更所致所以快速收集变更信息和线上机器的异常数据非常重要但难点在于这些数据往往散落在各个 方井且格式多样。 快速恢复 影响故障恢复时间的一是故障定位时间二是所采用的快速恢复的手段 例如在多版本部署出现故障时可以通过快速切换版本来恢复在异地多活的情况下可以把流量切换到不同的单元来止损。