21CTO社区导读:
阿里巴巴从五彩石项目开始对自身电商平台做了新的架构,其产生了两个影响:第一,抽取电商公共元素,沉淀共享服务,降低创新和试错成本,奠定了阿里在电商领域进行快速创新的基础。第二,形成了一套支持互联网业务的中间件。本文主要讲解其第一阶段的工作。
概述
阿里巴巴的淘宝、天猫网站经过几年的技术发展,目前已经具备高水平伸缩能力,低成本的电商架构体系。这个架构包括:电商基础架构、支付平台架构、移动端架构以及混合云架构。
与所有的平台一样,阿里架构从集中式架构体系发展为发布式架构体系。再从分布式体系演进为单元粒度的分布式架构体系。
两轮演进进程还伴随着支付平台的升级、自主研发的OceanBase的数据库产品的成熟,以及PC端到移动端的转型。
在2015年以前,和众多互联网公司一样,阿里也通过加机器的方式来支撑不断增长的流量和在线用户。之后,开始使用混合云架构来支撑整体架构。
关于『五彩石』的由来
2008年5月,淘宝商城网站发布,也就是天猫的前身。它与淘宝网是独立的两个系统,各自拥有会员,商品库,店铺,积分系统,但两者之间的会员是打通的。运行近半年后,因为淘宝商城不能够很快借力淘宝网,流量并不是很大,于是运营层决定将两者的数据和系统完全打通。这个项目在10月正式启动,代号:『五彩石』由行癫负责。
图1 淘宝网与淘宝商城的整合
该项目成立在杭州的阿里办公所在地华星大厦。两个都是范字辈的人负责技术和项目管理,由范禹负责总体系统架构,范遥做为项目经理。
担任研发的人员共使用了60人,整体参与人数共计200余人。
这在当时,大多数项目只有10人左右,超过10人就已经算为大项目了,由此可见上层对此项目的决心。
项目之推进
『五彩石』项目共分成三期开始实施。
每一期都有明显的业务目标,在此之后,阿里的所有项目都以业务目标为驱动的架构演进作实施参考。
1)第一期:商品的整合
这一期包括商品的整合,包括两个系统的全部数据和系统整合,如商品的类目体系、发布、编辑、上下架、补货、广告橱窗推荐、前台详情页、导购、搜索等模式的重构和整合。
比如两个系统的Brand ID的精确统一,不能有错漏。
另外,电商网站的商品上下架时间保持统一。淘宝C店有一个规则是,所有商品上架周期为7天,7天后自动下架。前台用户再搜索不到,需要商家编辑或重新上架商品,以保持商家对自家网店和商品的关注度。而淘宝商城则没有下架的概念,因为是面向大商家和品牌商设计,所有商品永远在线。
第一期项目发布过程非常惊险。在淘宝网发展历史上很少出现停机发布,这次因为涉及到数据结构的变更,必须停机发布。
项目组制定了非常周密的发布计划,但未设置回滚计划。因此,发布相当于火箭发射,只许成功不许失败。
项目数在淘宝首页发布了公告:凌晨0:00-500停止服务。也就是留给项目发布的时间只有5个小时。整体过程在4:00左右完成上线,首页打开后,流量开始慢慢起来。
因为社区里的地址与新地址不兼容,用户反映有的页面打不开。于是又在一些关键页面做了替换式兼容,以支持原来的页面URL也能打开。
另外,发现了一个很严重的负载问题。即每次用户打开页面,程序都去检查文件的更新时间,从而导致系统调用非常消耗资源。
彻底解决后在早上8:00。幸运的是,8:30是流量高峰的开始。
2)交易系统的整合
交易系统包括购物车、下单、优惠营销等模块的完全整合。
淘宝网有团购的交易模式,卖家可以发布一个团购商品,允许多个买家凑足一定单数以较低的价格买到。通过数据发现交易额比较低,因此下线了这个团购功能。
但是在同一时间,美国的团购网站Groupon的公司刚刚成立,经过一两年发展,风靡全球。淘宝后在2010年又推出了独立的团购频道:聚划算。
图2 基于共享服务创建的聚划算
因此,单纯的数据驱动来决定运营也不一定完全靠谱。需要注重用户需求领域内模式的不断创新,包括商业、技术。
3)打通淘宝店铺与淘宝商城店铺
第三期的五彩石以打通两个平台的店铺为主。淘宝商城只采用了经典的红色风格,整合完之后,淘宝商城的店铺风格只是淘宝旺铺系统提供的一个特殊装修模板。
这三期项目结束之后,基本完成了淘宝网与淘宝商城的数据打通,为后续的淘宝商城的发展打下坚实的技术基础。
『五彩石』工程都有非常明显的业务目标。第一期打通商品库,第二期打通交易,第三期打通店铺。另外,还有一非常重要的是架构重构,通过不断抽取共享共享服务,从而形成服务化架构的电子商务平台。
作者:小邪。为阿里巴巴中间件技术部研究员。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/256090.html