我很喜欢问新人的一个问题,就是“为什么要分层?不分层能行吗?”
不分层不行。分层后有各种各样的好处,这个谁都能说几条。但是,“分层”这种思想到底有多么重要,意识到的人可能很少。
今天刚刚看了一条新闻(以下数据和文字来自 http://www.vpsee.com/,《MocoSpace 的架构》):
MocoSpace.com 是一家移动社交网站,有 1200 多万注册用户,每个月 30 亿的 PV ,是美国最大的移动社区。注意他们只有 1 个系统管理员,8 个程序员,14 台服务器。注意数据:
> 每月 30 亿 PV
> 全美第 4 大流量的网站,继 MySpace, Facebook, Google 之后
> 75% 手机 Web, 25% Web(请特别注意这一条)他们的网站主要是面向手机应用的,所以他们遇到的一个大挑战是如何让他们的网站在几百种(从最新的 iPhone 到古董级的 Motorola Razrs)不同的手机设备上运行,屏幕大小、缺少相应的 Web 标准等都是问题。他们在几百种不同手机的数据上抽象出了一个表现层,只要用一套代码通过一个手机数据库(包括屏幕大小、允许的文件类型、允许打开的页面大小等)把处理好的页面发到对应的手机上。
你看,这也是“分层”的思想。
——
昨天起在看 H3CSE 的教材。看着看着我自己总结出了一个我觉得蛮重要的思路:各种技术,目的就是把“物理”与“逻辑”玩弄于股掌之间(joking)。VLAN、VPN、链路聚合、各种其他协议,都有它的影子。(纯粹个人想法)
——
其实还可以再往上提提这个“思想”的高度。怎么做事情,怎么学东西,也算是思想吧。
举例子,想学交换机配置,很多同学寄希望于某某去教他,希望有人一直带着他从配单个机器到能规划一个大型网络。但是除了书本和 Google,谁有那么多的精力呢?Learning by doing,才是最好的学习方式。
每当你 doing 出小成就或者大故障时,你就进步了。
想学 Linux,哪有人详细地去教你 cp 有哪些属性,带不带 –a 有什么区别。自己 cp 一下,然后 ls –al 看一下,一切就清楚了。
——
p.s. 一定要感叹一下:STP 以及各种其他 STP 真麻烦…… 感觉就是加强版的简单图论题……
