单点故障 Single Point of Failure

单点故障(Single Point of Failure,SPOF),用个简单的比喻来形容:在电影《2012》中,一把焊枪把齿轮卡住,从而导致整个舱门无法关闭,进而整个引擎无法发动。如此庞大的一个系统,居然因为一把小小的焊枪而险些毁于一旦。大脑对于人来说,就是一个单点,大脑损坏,人也完蛋;手是不是单点? 一只没了,另一只还能日常生活,从这个角度来说,不是单点。

消除单点的最常见的做法:增加冗余。比如,人有两只手。其次,层次化。当然,分层的目的是便于隔离问题。电影《2012》中的这个问题,不知道谁是总架构师,看起来,隔离做得不太够。一般来说,只要系统能够比较清楚的分出层次来,要消除单点故障还是有章可循的事情。比如,一个网站,从基础的硬件层,到操作系统层,到数据库层,到应用程序层,再到网络层,都有可能产生单点故障。如果要有效的消除单点故障,最重要的一点是设计的时候要尽量避免引入单点,而随着架构的变化,定期审查系统潜在单点也是有必要的。

0 条评论

昵称

沙发空缺中,还不快抢~