一. 分布式时代
在系统发展的过程中,架构师的眼光至关重要,作为程序员,只要把功能实现即可,但作为架构师,要考虑系统的扩展性、重用性,对于这种敏锐的感觉,有人说是一种“代码洁癖”。淘宝早期有几个架构师就具备了这种感觉,周锐虹开发的Webx是一个扩展性很强的框架,行癫在这个框架上插入了数据分库路由的模块、Session框架等。在做淘宝后台系统时,同样需要这几个模块,行癫指导我把这些模块单独打成JAR包。
上面说的都是比较小的复用模块,到2006年,我们做了一个商品类目属性的改造,在类目中引入了属性的概念。项目代号叫“泰山”,这是一个举足轻重的项目,这个改变是一个划时代的创新。
在这之前三年时间内,商品的分类都是按照树状一级一级的节点来分的,随着商品数量增长,类目也变得越来越深、复杂。这样,买家如果查找一件商品,就要逐级打开类目,找商品之前要弄清商品的分类。一个很严重的问题,例如男装里有T恤、T恤下面有耐克、耐克有纯棉的,女装也有T恤、T恤下面还是有耐克、耐克下有纯棉,那是先分男女装,再分款式、品牌和材质呢?还是先分品牌,再分款式、材质和男女装呢?
这时一灯说品牌、款式、材质等都可以叫做“属性”,属性是类似Tag(标签)的一个概念&#x