当前位置: 首页 > 网站架构 > 正文

构建高可用系统之故障篇的经验总结

1 星2 星3 星4 星5 星 (2 次投票, 评分: 5.00, 总分: 5)
Loading ... Loading ...
baidu_share

总结一下为了保障系统的高可用,通常可采取的措施:

1、监测 & 报警
监测和报警有助于帮助你立刻知道故障,在做的好的情况下甚至可以做到提前知道故障要发生,怎么样做监测最好呢,当然,实现一套这样的系统也不容易,maybe scribe可以看看,系统的开发人员做这个才能做的好,因为只有熟悉系统细节的人才知道到底要监测什么和什么情况下要报警,才能保证关键功能是正常运转的。

2、隔离
采用简单有效的办法隔离开核心的功能以及其他功能所依赖的共同资源。

3、简化系统
系统依赖越多,就意味着系统要保障可用性就需要所有依赖的系统都保持稳定,因此要尽可能的减少系统的依赖。

4、优雅降级
在系统中留好一些控制开关,尤其是对外部依赖的点,以便在资源不够时更简单的将资源让出给核心功能使用,在促销类的活动中这招尤其重要。
做的更好的话甚至可以做到按功能关闭,按资源消耗关闭,按功能重要的等级关闭,:)

5、容灾
容灾一方面是依靠多机器、多机房等来容灾,另一方面是依靠提供一些简单有效的措施来避免高危应用的故障。

6、自我保护
保护好自己,无论依赖的系统出现什么状况或外部的请求量大、边缘参数等,都应尽可能保证自己不挂,能提供服务就尽可能对外提供服务。

7、容量规划
对系统能支撑多高的量要有一定的把握,以便做到合理的流量控制以及扩容。

在保障系统高可用时,必然还会有其他很多的措施,但在做这些措施的时候,一定要考虑是否带来了更大的复杂性,抑或是为了极端偶尔的异常付出了很大的代价,一句话来说,就是要考虑收益比,有些时候看似简单、土的方法往往是最管用的,而漂亮的方法很多时候都会在最关键的时候华而不实,最终就是最后一根稻草都没了。

但要保障系统的高可用,以上的这些措施其实都不是最重要的,最重要的是所有的开发人员都能认为自己所负责的系统的稳定是他自己最重要的职责,千万不要出现生产环境一出问题,只有一小撮“专家”去查问题,而不是熟悉系统的人去查,最好的状况是每个负责系统的人都会立刻去看看自己的系统是否有问题,当人人都有了一颗“稳定”的心,要保障系统的高可用就会变得容易很多,否则依靠再多的方法措施都是没用的。

本文固定链接: http://www.chepoo.com/build-a-highly-available-system-fault-chapter-of-experience.html | IT技术精华网

构建高可用系统之故障篇的经验总结:等您坐沙发呢!

发表评论