分布式现象和理念
《权利游戏》中夜王被二丫杀死以后,所向无敌的异鬼大军便瞬间灰飞烟灭,这是中心化所带来的问题。如果夜王懂分布式,异鬼大军的容错能力会大大提升。分布式的一个必要条件就是去中心化或者无中心化。
众愚成智
“物以类聚、人以群分”。群体与个体相对,个体按照某种特征,在共同目标的基础上结合在一起相互依赖、相互作用就形成了群体。
人类从原始社会的氏族、部落一直到现代社会的团体机构,大多是自上而下的中心化分层组织架构。动物世界中的狼、豺等犬科、大部分灵长目动物等也都是遵循这种中心化的组织方式。

动物世界还有另一种去中心化的群体,比如鱼群、鸟群、蚁群和蜂群等。这类群体中的个体单独行动时能力弱小,但是这些“白痴”的个体一旦结合形成群体,便拥有了可观的“集体智慧”。
单只蚂蚁看起来不过是一段长着腿的神经节而已,但是一群蚂蚁凑到一起就能协同工作:寻觅食物、建设坚固而漂亮的巢穴、抵御危险和抚养后代。
许多人第一直觉认为鱼群会更容易被捕获,但恰恰相反的是,与一条单独活动的鱼相比,鱼群应对危险时的反应更加敏捷,它们相互之间有着近乎完美的步调一致配合来躲过捕食者的攻击。这种能力现象被称为“群氓智慧”或“群体智能”。
复杂来源于简单
群体曾被看作是生命体的决定性象征,某些壮观的队列只有生命体才能实现。如今根据雷诺兹的算法,群体被看作是一种自适应的技巧,适用于任何分布式的活系统,无论是有机的还是人造的。—— KK《失控》
大量个体和少量个体的行为存在大差异,随着个体数目的增加,个体之间可以进行的相互作用呈指数级增长。当连接度高且个体数量大时就产生了群体行为的动态特征——量变引起质变。
如何解释“群体智能”呢?《蝙蝠侠归来》这部电影中开头有一个电脑制作的场景:一长群黑色的蝙蝠穿越水淹的隧道涌向纽约市中心。

动画制作者在实现该场景时利用了雷诺兹的群体规律:
- 不要撞上你的同伴;
- 跟上你身边的同伴;
- 不要离群太远;
雷诺兹的这个简单的算法就模拟出了类真实的群体。众多简单个体组成的群体能够通过相互之间简单的协作来表现出复杂的智能行为,这是群体”智能“的核心。群体智能的神奇之处在于,并没有一个中心在控制群体,但却有一只看不见的手,一只从愚钝的成员中涌现出来的手控制着整个群体。
雷诺兹法则也同时说明,群体可以被看做是一种自适应的技巧,适用于任何分布式的活系统,无论是有机的还是人造的。
群体智能的特点有:
- 不存在中心控制,个体均自治,所以能适应网络状的结构并具备良好健壮性,不会由于某一个或者几个个体出现故障而影响群体对整个问题的求解;
- 个体与邻近个体间通过简单的直接或非直接方式(改变环境)通信,高度连接,从而相互影响,协同合作。随着个体数量增加,通信开销的成本增幅较小,具有良好的可扩充性;
- 个体能力简单,个体之间遵循的规则也简单;
- 具备涌现特征,即大规模群体表现出来的复杂行为是通过简单个体之间的交互协作自下而上涌现出来的智能;
涌现是很常见的现象,比如芯片就是众多与非门遵循简单规则结合涌现出极强的运算能力。人大脑的记忆并不是像电影一样从头到尾记录所有影像,而是分布式记忆碎片。回忆是将这些记忆碎片组合在一起在大脑中涌现和感受到超出碎片外的整体记忆影像。涌现让大脑有能力记住远超脑容量的事件。
对群体智能的研究已经让人类获得不少收益,比如模拟实际蚁群寻找食物过程的蚁群算法,已经在组合优化问题求解以及电力、通信、交通、机器人等多个领域中得到应用,都表现出了令人满意的性能。
错综复杂的世界
复杂:机械手表构造复杂,但是可以将其分解为一些内在部分彼此线性相依:一个齿轮转动了,其他齿轮也会转动,以此类推。复杂是线性关系,当一部分被改变的时候,你能比较准确地预测接下来会发生什么,所以是可控的。
错综复杂:像世界、天气、市场经济、股票这类,是极多元素间的剧烈互动,任何小的变化都可能引起非线性升级的蝴蝶效应。
世界是错综复杂的,复杂到科学需要将世界细分为成百上千种学科单独做研究,复杂到认知世界需要做合理地简化,复杂到人们总是在不断地推翻已发现的科学定律。我们为牛顿经典力学定律加上一个适用范围,是否意味着未来人们发现更接近实际观测数据的公式时,是否也会再为爱因斯坦相对论和量子力学加一个适用范围呢?道可道,道非恒道。
从群体智能我们得知,简单的个体相互通过通信、协作,遵循简单的规则,在大规模组成群体后便能表现出令人惊讶的复杂智能。如果按照这个思路去理解世界,就能很容易明白为什么世界如此复杂:世间万象是万物在一起相互作用涌现出来的,任何人都无法自下而上掌握世界运转的全部知识,更无法自上而下去尝试解释世界。
世界是一个相互作用的整体,涌现的现象之间不存在简单的线性因果关系,所以我们的科学将世界划分为如此多门类的学科其实是不太科学的。我们目前没能力去整体认知世界,但可以接受并利用群体智能现象来解决所遇到的错综复杂问题。
分布式系统
A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another. The components interact with one another in order to achieve a common goal.
分布式系统是一个系统的组件分布在不同网络计算机上,彼此间通过消息传递进行通信和协作的系统。组件之间的交互是为了实现共同目标。
随着互联网的发展,大型互联网系统所面临的挑战主要有两个:
- 用户规模急剧扩大,大型系统的承载量高到难以解决的程度:服务器繁忙;
- 系统越来越错综复杂,复杂到人们开发和维护过程中无法保证其可用性;
要解决这两个问题,就要做到:
- 系统可灵活扩容:灵活增加有效服务器(组件);
- 任意个体组件功能出故障不影响整体可用性;
- 保证可维护性:单一功能组件足够简单,结合在一起能够解决复杂问题;
分布式系统就可以满足以上要求。此时你想到了什么?对的,分布式思想与群体智能几乎无异。可以概括为:通过简单个体的相互通信、协作,遵循共同的规则,在大规模组成群体后涌现出远超个体能力的复杂能力。 目前人们生活中,互联网、市场经济、大脑的神经元网络等都是分布式的。分布式所带来的复杂能力能够解决其他方式所解决不了的错综复杂问题。
分布式的要点主要有:个体具备一定能力、去中心化、任意个体点对点通信具备网络特征、遵循共同的规则、大规模化、自下而上涌现解决复杂问题的能力。
分布式系统的每个组件负责一个简单的功能,然后通过遵循共同规则结合合起来就能做很复杂的事:
- 个体是组件及其所部署的服务器;
- 去中心化:个体功能组件部署在自己的服务器或服务器集群上,而不是所有功能整体部署在单机或单机集群上;
- 任意个体之间可以点对点通信;
- 分布式系统重点关注于如何制定组件所遵循的共同规则,比如应对通信失败、某个体不可用、一致性问题等。这些规则背后的理论体系非常庞大,涉及的知识面也非常广博,本文不做介绍;

注:分布式系统还关注于用有限的调度能力去管理无限多的同质化计算节点,依旧是自上而下的中心化调度,从而解决资源问题。
分布式管理
一百多年来,泰勒还原论通过”科学管理“对人类发展产生巨大影响:经过研究、评估和标准化后,将工作分解为可以被任何人执行的简单步骤,从而最大限度的提高效率。比如互联网产品的运转被分解为:产品、设计、技术、运营、销售等。
这种还原论深入到社会肌理之中,任何一个社会组织的架构都与泰勒的主张如出一辙:建立一种干净而简洁的等级制度,再由管理者统一发号施令。

但是随着社会的发展,泰勒的”科学管理”变得越来越有局限性,自上而下的井深分层和以规划、预测为基础的管理模式难以应当今的挑战。究其原因主要有:
- 技术变化催生出更加相互依赖、速度更快的世界,这导致世界越来越错综复杂,越来越不确定和难以预测,计划赶不上变化;
- 深井的架构导致目标分散、各自为政,信息闭塞、相互不信任,组织僵化、缺乏灵活性;
退役美国陆军上将麦克里斯特尔在对抗基地组织时发现,恐怖组织的管理方式与传统不一样,他们没有规律、不知道位置、人数不确定、出击时间也不确定,完全是在“圣战”宣传下的自发组织。他们三五成群,但有统一的目标:打击美军。
这种充满不确定性的挑战使遵循传统管理方式的美军大伤脑筋。但在这位上将把美军分成了像基地组织一样的小团队,团队间信息共享,并被授予临时决策权后,美军的整体战斗力开始大幅度地提高。
最后,他得出结论:在面对变化多端的环境时,传统的组织形式已经过时了,小团队作战的方式才会有效。在退伍后,他把这套理念引进了商业领域,所著的《赋能》提出了分布式的管理理念,组织的目标不再是效率,而是打造应对不确定性的敏捷团队:
- 突破深井的组织架构,打造去中心化的网络化敏捷小团队相互协作;
- 团队之间公开透明、相互理解和感知认同、互相信任、目标一致;
- 团队所有成员要了解系统全貌,建立及时有效的沟通机制,相互充分共享信息;
- 锻造团队自发智慧,在计划外或无计划时团队依旧能够正确地做事;

赋能的核心是简政放权、让正确的人做正确的事。管理者不再是“指挥与控制”的宏观管理者,而是培养团队自行解决问题的能力,做园丁式领导:不再干预花草的生长,而是定期浇水、施肥,营造一个良好的环境,植物会自行生长。在这种自下而上的管理理念之下,团队可以涌现出惊人的韧性和能力应对各种瞬息万变的环境。
(原创首发公总号,欢迎关注!)