知识卡片

无尽的钟摆:Web只是计算资源集中/分散振荡史的一瞬

普通读书笔记卡

内容

90年代Web技术兴起时,人们曾鄙视旧有的客户端/服务器架构,仿佛Web改变了一切——但事实上Web并没有能力改变任何东西,它只是软件行业自1960年代以来经历的数次”计算资源振荡”中的一次:一会儿把计算资源全部集中到中央服务器,一会儿又分散到各个终端。仅在Web被普遍应用的这十几年里,这种振荡就反复上演好几轮:先是相信计算该集中在服务器集群、浏览器该保持简单,接着在浏览器里引入Applets,再后来发明Web 2.0、用Ajax和JavaScript把计算挪回浏览器,兴奋地把整个应用挪去浏览器执行,然后又用Node.js技术把JavaScript代码挪回服务器执行。这不是Web时代独有的现象:Web之前是客户端/服务器架构的振荡,再往前是中央小型机/瘦终端模型(瘦终端和现代浏览器其实很像),再往前是大型计算机与打孔卡——这个故事会一直讲下去,我们似乎永远决定不了该把计算资源放在哪里,只会不停在集中式和分布式之间来回切换。从IT技术发展史的整体视角看,Web热潮不过是这个早于我们出生、也必将超过我们职业生涯的振荡周期里的一瞬——软件架构师该把眼光放长远,不该把这些短期的技术钟摆纳入系统核心业务逻辑的设计考量中。

参考来源

- 位置:《架构整洁之道》第31章《Web是实现细节》引言"无尽的钟摆"(源文件:_epub-src/text/part0015_split_001.html) - 结论依据:原文详述Web时代内部计算集中到分散再到集中的多轮反复(服务器集群→Applets→Ajax→Node.js),并追溯这种振荡早于Web、可上溯到客户端/服务器、瘦终端、打孔卡时代,指出这是超越个人职业生涯的长期周期,架构师不该把它纳入核心业务逻辑设计,直接支撑本卡片结论。 - 原始内容:Web技术事实上并没有改变任何东西,或者说它也没有能力改变任何东西……我们似乎永远也决定不了应该将计算资源放在哪里……作为一名系统架构师,我们应该把眼光放长远一点,这些振荡只是短期问题,不应该把它们放在系统的核心业务逻辑中来考虑。