高可用性系统经验分享之总结

昨天听了毕玄的课程, 在此做一下简短的小结.高可用性系统经验分享总结

1. 要做好监控监控好系统里面那些关键的点:哪些点影响全局, 哪些点对主流程没影响?

2. 要做好隔离不要将所有的东西都串起来搞, 一个系统挂了导致其他都挂. 隔离的手段: 系统拆分, 分级(P1,P2,P3,P4)

3.要理清并减少依赖特别是核心系统, 应该去除太多的依赖, 最好就似乎直接连接数据库, 这样稳定性只有数据库和系统本身, 而不用担心依赖系统的稳健程度.

4.缓存读操作一律走缓存, 当然缓存的时间限度要估量好.

5.优雅降级首先应该是将系统拆分成N个独立的功能点, 当遇到瓶颈的时候可以考虑将不影响主流程的功能去掉, 做到优雅降级.简单的实现就是一大堆的系统开关, 然后在每个功能点都使用开关. 当出现需要降级的情况的时候, 就可以在后台使用开关来降级了.

6.自我保护这是隔离的一个目的, 就是在系统依赖的系统的挂了的时候, 要让自己不会挂, 即使主流程无法走动了, 也要不能挂, 当依赖的系统恢复的时候, 本系统也能自动恢复.

7.双机房容灾不仅仅要做机器间的容灾(双机热备以上), 还要做好机房容灾, 当遇到天灾的时候导致其中一机房断点, 也要保证备用机房能撑得起80%的流量.

8.容量规划系统上线之前和之后都要最系统进行压测, 预估系统的吞吐量(QPS), 而压测环境应该在线上生成环境压测, 而不是测试环境压测.

9.自动化发布当系统拆分成N多应用以后, 发布会应为纯手工敲命令而出问题, 或遗漏, 或敲错命令. 所以应该使用自动化发布系统. 简单的方法使用ftp命令向server发送特定指令, 然后执行特定的shell进行发布.

10. 理清关键路径这也是隔离的一个手段.把关键的路径理好(比如电子商务网站的关键路径就是浏览+下单), 将非关键的路径进行隔离, 不要影响到关键路径.

发表评论

Protected by WP Anti Spam

昵称

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

沙发空缺中,还不快抢~