毕玄:阿里十年,从分布式到云时代的架构演进之路
2018 年 12 月 25 日,在 TGO 鲲鹏会杭州分会「E 家宴」的现场,阿里巴巴系统软件、中间件、研发效能负责人毕玄做了《云时代的软件架构》分享,本文根据其演讲整理而成,有部分删节。TGO 鲲鹏会公众号(ID:tgo-kunpenghui)授权 InfoQ 转载。1奠定阿里五年业务快速发展基础的架构改造 阿里经历了几次较大的软件架构迭代,首先是分布式时代的阿里电商架构。淘宝从 2007 年开始做新一轮架构改造,淘宝从 2007 年开始碰到的最大的问题,即访问量增长太快,导致出现了一个问题:不能加机器了,即伸缩性的问题。淘宝在业务发展过程中,2008 年以前所有的解决方案就是简单加机器就能解决,但是到 2007 年突然出现加不了,那时候淘宝数据库用的是中国最好的 IBM 的小型机。 以前数据库连接我们用 Oracle,Oracle 数据库最大的问题是每个链接消耗的内存特别大。因为内存始终有瓶颈,所以当我们内存、数据库连接不够的时候,我们的解决办法是多插内存条,后来内存条插满了,就没有办法了。所以 2007 年淘宝判断必须做新一轮的架构改造,让我们具备水平伸缩能力。 大家现在都知道一个思路,既然一个系统加不了机器,数据库抗不住,那就把一个数据库拆成两个数据库,把访问数据库的业务尽可能集中。以交易为例,以前是所有的 web 应用都要访问的,如果你把交易逻辑抽象出来