持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第3天,点击查看活动详情
架构设计随想
一. 与复杂性做朋友
架构设计的核心就是应对系统复杂性的挑战。架构师与系统复杂性相生相灭。 在任何世界里,我们都讨厌复杂性,但是又无法回避复杂性。任何企图用线性思维简单粗暴的应付复杂性的行为,最终都会自食苦果,或早或晚。 复杂性带给我们的困扰非常明显。它让一个系统难以理解,缺乏可理解性会导致难以管理,它让一个系统缺少透明度,使我们难以有效的决策,它让一个系统具有不可预测性,一些微小的行为可能就会带来毁灭性的蝴蝶效应。 但是,如果我们能放下线性思维的执念,就会发现系统的复杂性会带来一些好处。首先,复杂性可以提升一个系统的适应性和韧性,会让一个系统更好的适应所处的环境,就像自然生态中的基因多样性,复杂但是能够更利于自然选择。其次,复杂性会让一个系统变更根本无法复制。在商业的世界里这意味着无可撼动的护城河。我们一次又一次看到,砸下巨资就想简单地颠覆一个完整的商业生态是多么地自不量力,例如万达之于阿里,例如美団之于滴滴。复杂性无可避免,而且随着一个系统的演进还会不断提升。 爱默生有句名言:“现代科学的最后一课是,结构最简单的东西,并不是通过尽量缩减元素数量制成的,而是通过极力提升复杂度来的。“,至于复杂性究竟会带给我们什么样的后果,则取决于我们如何应对。
二. 复杂系统理论的演进
截止目前,复杂性系统相关理论的发展可以大致分为三个阶段:一般系统理论阶段、自组织理论阶段和复杂性科学理论阶段。 一般系统论阶段的代表理论有一般系统论、控制论、信息论、运筹学、系统动力学等。系统论、控制论和信息论就是俗称的”老三论“。这些成果在商业世界的典型案例可以参考”福特蓝血十杰“。 自组织理论阶段的主要代表理论有耗散结构理论、协同学、突变学、超循环结构理论等。最近网红术语”熵增“就和这些理论息息相关。这些成功在商业世界的典型案例可以参考”丰田生产方式“。 复杂性科学阶段以圣塔菲研究所的研究为典型代表,包括混沌、分形、复杂系统理论等。复杂性科学的核心问题就是,涌现和自组织行为是如何产生的。在商业世界里典型案例可以参考《失控》》一书所预言的互联网经济。 对于复杂系统的理论在此不做过多的介绍,有兴趣的同学可以自行研究。在此摘录《失控》中的九律,方便大家对复杂性进行更多的了解。”从计算机科学和生物研究的最前沿成果中以及交叉学科的各种犄角旮旯里提取出了大自然用以无中生有的九条规律---是九律“:
1. 分布式
蜂群意识、经济体行为、超级电脑的思维以及人的生命都分布在众多更小的单元上,这些单元经常是分布式的。
2. 自下而上的控制
当分布式网络中的一切都互相连接起来时,一切都会同时发生。遍及各处而且快速变化的问题都会围绕涌现的中央权威环行。
3. 递增收效
每当你使用一相想法、一种语言或者一项技能时,你都在强化它、巩固它并使其更具被重用的可能。这就是所谓的正反馈或滚雪球。
4. 模块化生长
创造一个能运转的复杂系统的唯一途径,就是先从一个能运转的简单系统开始,通过将简单且能独立运作的模块逐步组装起来来,复杂性就诞生了。 #####5. 边界最大化 世界产生于差异性。
6. 鼓励犯错误
进化可以看作是一种系统化的错误管理机制。
7. 不求最优化
但求多目标,与其费劲将任一功能最优化,不如使多数功能“足够好”,这才是大型系统的生存之道。
8. 谋求持久的不均衡状态
静止不变和过于剧烈的变化都无益于创造。
9. 变自生变
变化本身可以结构化的,这也是大型复杂系统的做法:协调变化。