编辑导语:如果仔细观察,我们会发现无论是在生活中,还是工作中,冗余是随处存在的,没办法完全避免。冗余其实并不完全是一件坏事,它可以提高容错率、对抗不确定性。假如在设计中可以处理好冗余,那么可能会取得意想不到的效果。

一、冗余不总是坏事
冗余:多余的重复或罗嗦话。——《汉语词典》
大部分人提到“冗余”,都会觉得这是一个贬义词。
冗余代表着多余、重复,与大部分人所追崇的“简洁优雅”、“Less is more”的理念相对立。程序员们也经常说到“代码冗余”这个词:明明一行代码能搞定的事情,非要花十行代码,往往让人不能容忍。
但其实冗余并不完全是坏事,一些包含冗余的设计往往能提高系统的容错率和对抗意外情况。更优雅的设计往往是在冗余和效率之间取了一个平衡,而不是完全消除冗余。
二、冗余的作用:提高容错率、对抗不确定性
我们在生活和工作中其实经常遇到各种各样的冗余存在,这是系统提高容错率、对抗不确定性的必要手段。
- 例如:虽然一个肾脏就能完成全身的代谢功能,但人还是有两个肾脏,当其中一个不起作用时,另外一个则会顶替(内容冗余);
- 例如:在做项目排期时,我们往往会预留多一些时间,当有紧急事情发生时也能从容应对(时间冗余);
- 例如:我们去乘飞机或火车时,往往也会提前半小时到达车站,以防路上拥堵或安检时间过场导致错过航班(时间冗余);
- 又比如:我们买鞋子不会刚好跟自己脚的大小一模一样,而是往往多出一些空间,也是为了在做一些特定动作时不会觉得挤脚(空间冗余)。
简单的说,冗余就是多出来一些额外的、看上去可能用不上的东西;但在必要的时候又能起到作用,从而提高容错率或应对一些不确定事件。所谓冗余,就是不追求资源的**化利用,通过资源的合理配置,使得整个系统可以应对多种情况,在各种环境下也更具弹性。
三、没有冗余的系统通常非常脆弱

图1:苏伊士运河拥堵,图片来自网络
3月23日在苏伊士运河,台湾长荣集团的“永恒吉文号”货轮因为强风吹袭,导致船身偏离航道,意外搁浅。将整个苏伊士运河两边的船舶都堵死,据说每小时造成约4亿美元的经济损失。
造成这种灾难的原因,除了意外的天气,很重要的一点就是:这条运河的宽度设计的恰好够用,运河的宽度仅有205米,船的长度是400米,正常直着运行是没问题,但当船只斜过来时,整个运河都将被卡主。
这种设计从经济上来看效率很高,但缺点就是容错率很低。遇到风暴等意外情况,极其缺乏反脆弱的能力,也最终导致无法正常运转。
四、如何使用冗余?
产品经理在项目管理和产品设计中,也可以使用冗余的方式来提高容错率、降低风险以及将重要信息有效传递给用户。
闽ICP备13000641号-4