![](https://csdnimg.cn/release/download_crawler_static/86291216/bg1.jpg)
极客时间
hongfenghuoju/7392[2018/8/6 8:54:41]
09 | 架构设计原则案例
2018-05-17 李运华
周二,我给你介绍了架构设计的三条核心原则,先复习一下:合适原则、简单原则和演化原则。我们在架构设计实践中,应该时刻谨记这三条设计原则,指导我们设计出合适的架
构,即使是代表中国互联网技术最顶尖水平的
BAT
,其架构的发展历程也同样遵循这三条原则。
今天我就以大家耳熟能详的淘宝和手机QQ作为案例,来简单分析一下。
淘宝
注:以下部分内容摘自《淘宝技术发展》。
淘宝技术发展主要经历了
“
个人网站
”
→
“Oracle/
支付宝
/
旺旺
”
→
“Java
时代
1.0”
→
“Java
时代
2.0”
→
“Java
时代
3.0”
→
“
分布式时代
”
。我们看看每个阶段的主要驱动力是什么。
1.
个人网站
淘宝当时在初创时,没有过多考虑技术是否优越、性能是否海量以及稳定性如何,主要的考虑因素就是:快!
因为此时业务要求快速上线,时间不等人,等你花几个月甚至十几个月搞出一个强大的系统出来,可能市场机会就没有了,黄花菜都凉了。
同样,在考虑如何买的时候,淘宝的决策依据主要也是
“
快
”
。
买一个系统是为了
“
快速可用
”
,而买一个轻量级的系统是为了
“
快速开发
”
。因为系统上线后肯定有大量的需求需要做,这时能够快速开发就非常重要。
从这个实例我们可以看到:淘宝最开始的时候业务要求就是
“
快
”
,因此反过来要求技术同样要
“
快
”
,业务决定技术,这里架构设计和选择主要遵循的是
“
合适原则
”
和
“
简单原则
”
。
第一代的技术架构如图所示。
架构设计原则案例
2003
年
4
月
7
日马云提出成立淘宝,
2003
年
5
月
10
日淘宝就上线了,中间只有
1
个月,怎么办?淘宝的答案就是:买一个。
估计大部分人很难想象如今技术牛气冲天的阿里最初的淘宝竟然是买来的,我们看看当初决策的依据:
当时对整个项目组来说压力最大的就是时间,怎么在最短的时间内把一个从来就没有的网站从零开始建立起来?了解淘宝历史的人知道淘宝是在
2003
年
5
月
10
日上
线的,这之间只有一个月。要是你在这个团队里,你怎么做?我们的答案就是:买一个来。
买一个网站显然比做一个网站要省事一些,但是他们的梦想可不是做一个小网站而已,要做大,就不是随便买个就行的,要有比较低的维护成本,要能够方便地扩展和
二次开发。
那接下来就是第二个问题:买一个什么样的网站?答案是:轻量一点的,简单一点的。