最近西部世界第二季开播了,等了一年,终于等到了。西部世界关于意识的理论用了所谓的二分心智理论,这个理论是美国心理学家朱利安·杰恩斯(Julian Jaynes)在他的神书《二分心智的崩塌:人类意识的起源(The Origin of Consciousness in the Breakdown of the Bicameral Mind)》里提出的,这是个神奇的理论,转发一篇介绍此人及此书的文章。
译者按:加拿大科幻小说之父Robert J. Sawyer在他的关于网络觉醒故事的全新三部曲《WWW》之《Wake》中讨论了意识起源,其中, 故事主人公 Caitlin花了大量时间去思索Julian Jaynes的著作《The Origin of Consciousness in the Breakdown of the Bicameral Mind》。本文正好对这部神作做了一番介绍,著作主要研究人类意识的起源。该书作者Julian Jaynes认为,直到史诗描述的时代为止,人类思维与现代人的思维大相径庭,当时的人类,缺乏自知、自我意识。他认为,人类服从他们认定为神祗的声音,直到人类思维产生了自我意识为止。其中,《伊利亚特》提供了非常重要的证据:几乎所有行为,都是神灵推动,早期译文中人物也明显缺乏内省。与主流将意识视为生物现象(比如,行为主义)不同,Julian Jaynes将意识起源归于文化(特别是语言的兴起)。如今,他的「奇谈怪论」却成了神经科学家们、哲学家们的热议话题甚至是灵感来源。
tair 是一个类似于 map 的 key/value 结构存储系统(也就是缓存系统),是淘宝的一个开源项目,于 2010 年 6 月 30 号在淘宝开源平台上正式对外开源,不过目前这个项目好像已经没有维护了,主页已经没有任何东西了。tair 具备标准的特性是:高性能、高扩展、高可靠,也就是传说中的三高产品,支持分布式集群部署。官网说目前支持 java 和 c 这两个版本。适用场景是轻量级缓存应用,是为小文件和零碎文件、固定数据文件做的存储优化。本文的 pdf 版本这里。
一般一个 tair 集群主要包括 3 个必选模块:config server、data server 和 client,一个可选模块:invalid server。通常情况下,一个集群中包含 2 台中心控制节点 config server 及多台服务节点 data server。 其中的 config server 负责管理所有的 data server,并维护 data server 的状态信息,构建数据在集群中的分布信息(对照表)。为了保证高可用(High Available),config server 可通过 hear beat 以一主一备形式提供服务。data server 则对外提供各种数据存储服务,并以心跳的形式将自身状况汇报给 config server,并按照 config server 的指示完成数据的复制和迁移工作,所有的 data server 地位都是等价的。client 在启动的时候,从 config server 获取数据分布信息,根据数据分布信息和相应的 data server 交互完成用户的请求。invalid server 主要负责对等集群的删除和隐藏操作,保证对等集群的数据一致。
从架构上看,config server 的角色类似于传统应用系统的中心节点,整个集群服务依赖于 config server 的正常工作。但实际上相对来说,tair 的 config server 是非常轻量级的,当正在工作的服务器宕机的时候另外一台会在秒级别时间内自动接管。而且,如果出现两台服务器同时宕机的最恶劣情况,只要应用服务器没有新的变化,tair 依然服务正常。而有了 config server 这个中心节点,带来的好处就是应用在使用的时候只需要配置 config server 的地址(现在可以直接配置 Diamond key),而不需要知道内部节点的情况。如下图所示为 tair 集群的架构图。