刚刚遛弯时胡思乱想得到的:
有的系统越复杂越不稳定,有的系统越复杂越稳定。为什么会这样呢,我想,因为系统设计的方式不同。
如果系统稳定的要素以串联的方式连接在一起,或者说是程序中的“与”逻辑,每一个都是数学中的必要条件,要素越多,风险越大。 例如: 摞在一起的积木抽出一个就会倒, 串联的灯泡坏一个就都不亮。另一个例子是人活着需要空气,需要食物,需要水,需要适合的温度… 所以生命是非常脆弱的,破坏任一项人就活不下去。
如果系统稳定的要素以并联的方式连接在一起,或者说程序中的“或”逻辑,每一个都不是必要条件,要素越多,风险反而越小。例如,桌子如果有4条腿,砍掉1条还能勉强站着,如果有6条腿而且分布均匀,砍掉1条仍然很稳。另一个例子是双机备份,坏了一个,网站还能用。
然而真实情况往往比较复杂,不是简单的串联并联关系,而是互相嵌套。比如上面的例子人活着必须要食物,水等等必要条件,但就食物这一维度来说,玉米也能吃,小麦也能吃,有诸多的选择,这又变成并联了,然而,只有一种食物又不行,因为我们需要营养均衡…