• 阿里云河南授权服务中心--[ 阿里云精英级合作伙伴 ]
  • 阿里云河南授权服务中心电话 :0371-56982772

电商架构技术实践的秘诀,你必须快,成功过不会一直等你
发布时间:2016-07-06 10:30

来自于贝贝网、网聚宝、博云视觉等公司的诸位嘉宾分享了各自的实践经验,而在多场干货演讲之后,几乎所有的现场朋友们都深刻感受到:电商架构技术实践只有一个秘诀:成功就在那里,快了才是你的!


近期电商技术实战的内容非常丰富,4月15日在清华大学举办2016 ATF阿里技术论坛上的《电商技术:零到三万亿,从未停止的技术创新》,一次性分享了5位技术大神的技术干货:

淘宝移动平台事业部总经理庄卓然(南天):掌上精彩,连接过去与未来

阿里巴巴速卖通技术部总监郭东白(阿白):全球买全球卖,国际化的技术挑战

阿里巴巴资深总监司罗:阿里电商大脑,比你更懂你

阿里巴巴研究员墙辉(玄难):如何做电商业务中台

阿里巴巴研究员蒋江伟(小邪):双十一背后的分布式技术

不止这些。4月20日,云栖大会深圳峰会《电商技术专场》上,阿里云电商行业总经理周彬斌邀请了来自于贝贝网、网聚宝、博云视觉等公司的诸位嘉宾分享了各自的实践经验,而在多场干货演讲之后,几乎所有的现场朋友们都深刻感受到:电商架构技术实践只有一个秘诀:成功就在那里,快了才是你的!

 

一张图清晰描述阿里云电商方案

在周彬斌看来:双十一是云和大数据支撑的互联网商业盛宴,从技术层面来看:


全球最大的混合云架构支撑双十一核心应用系统

支持交易业务与支付业务异地多活,跨度达1000公里的多数据中心

MaxCompute(原ODPS):数据狂欢背后超强的计算引擎

CDN全站HTTPS加密,保护全球客户访问安全


所以,成长于双十一考验,强健于百万级客户服务的阿里云可以为电商行业提供强大的网络资源、计算资源、存储资源及中间件服务等基础设施。


同时阿里电商云在基础设施和互联网中间件的基础上,结合阿里巴巴电商实践,提供混合云架构、异地容灾、安全、多媒体、移动应用、智能客服、一站化数据化运营等增值服务。

 


阿里云助力贝贝网的技术架构转型


来自贝贝网联合创始人&CTO 郁佳杰的干货分享,是本场调查问卷中,现场反馈的最满意的一场演讲。


在他看来:“对于创业团队来说,当意识到一个风口来临时,往往却是一个非常短暂的时间窗口,如果想要把握住机会,就必须做到快。”所以郁佳杰的分钟中,自始至终“快”都是重要的关键词。贝贝网借助阿里电商云提供的混合云架构、互联网中间件及电商增值服务,快速完成技术框架的转型及优化。


三大业务特点


在郁佳杰的分享中谈及了贝贝网与技术框架研发相关的三个业务特点。


首先,贝贝网是一家彻彻底底的移动电商;其次,贝贝网也是一家“不安分”的电商公司,其业务复杂度非常高;第三,贝贝网的业务体量增长非常之快,仅用2年时间,贝贝网就覆盖3000万精准垂直用户、并且其90%的品牌在移动端占据的用户时间仅次于淘宝、JD、VIP等少数APP。


技术架构演进


郁佳杰表示贝贝网从2014年诞生至今,技术架构的演进总共经历了从诞生到野蛮生长再到涅槃三个发展阶段:


为了业务的快速上线,简单粗暴,实现低成本管理。1.0 - 诞生(2014)


在贝贝网诞生之初,为了网站能够快速上线,郁佳杰和团队选择了一种简单粗暴的方式,选择PHP语言,这是因为他们看中了PHP快速敏捷的开发和方便的后台管理。于是贝贝网投入十余名技术研发人员,仅用了45天的研发时间就让网站和App同时上线。


在贝贝网诞生初期,团队在处理网页方面一开始就做好了静动分离,并且充分利用了缓存这一杀手锏。郁佳杰表示当时的贝贝网尽可能静态化一切能静态化的页面,并且利用CDN和Varnish等技术对网页传输速度进行了优化。甚至在构建初期,贝贝网使用了memcached这样的高性能的分布式内存对象缓存系统,虽然这样做牺牲了一定的实时性,但是却降低了数据库的压力。开发团队因此可以专心于业务开发,而不必过多担心服务器的压力。由于有太多因素需要考虑,贝贝网选择在这个阶段不去做像图片这样的重资产。


郁佳杰在分享时谈到在网站发展初期,可以选择像阿里云这样的云服务提供的成套解决方案来对图片这样的问题进行处理,使用云服务能够极大程度降低投入的人力和物力。在他看来:在这个时期,技术其实是可以偷懒的,有些问题能不自己做就不自己做,能使用开源的解决方案就使用开源的解决方案。当然唯一要做的就是业务逻辑,但是业务逻辑也可以简化为不需要考虑应用与应用之间的依赖关系等复杂问题的单体应用。

 

 


贝贝网1.0版本的技术架构



堆硬件,做结构优化、逻辑拆分,单体应用继续“苟延残喘”。2.0 - 野蛮生长(2015)


2015年,在贝贝网经过了一年的技术成长之后进入了野蛮生长的时期。郁佳杰表示:在贝贝网的这个时期,团队快速发展,在与时间赛跑的关键节点,高速发展的业务却在不断腐化技术架构。当时的贝贝网有十余条业务线并行开发,每天几十个变更发布。也因为这样高速的发展,技术系统变得越来越脆弱,由于系统耦合程度太高,问题也出现的越来越多。


这时候也有可以在技术上偷懒的办法,多数的性能问题基本都可以用堆硬件的方式解决,在贝贝网的这个阶段能用钱解决的技术问题都不算是技术问题,堆硬件的方式使得系统研发团队能专注于业务开发,在投入产出比上还是非常划算的。


因为业务高速发展的原因,贝贝网整个技术系统就像一个巨婴,十分庞大但又及其脆弱。面对这样的庞大而又复杂的系统,不出问题什么都是好的,但是一旦出现了问题就什么都不好了。并且光靠堆硬件还是有问题不能解决,当时团队已经达到百余人,仍然在一个单体应用上做维护,这对系统可用性产生巨大影响。没人能保证团队完全不出错,有些问题甚至到了不可控制的阶段。当时的贝贝网不是没有考虑过技术架构服务化,但是问题的关键是没有时间来进行服务化。


虽然情况如此,但是在郁佳杰看来单体应用还是可以喘息一段时间,物理层面无法去做解耦,但是可以做逻辑层面的解耦。郁佳杰说:当时的贝贝网根据业务线的划分,把不同业务线的请求和API做分组,在接入层做流量调度,把不同的业务请求分发到不同逻辑业务集群上去,各业务团队自己监控改进优化。这样的解耦方案解决了一定的问题,但是还是没有解决最重要的问题,底层数据库还是在一起。当时贝贝网自己的分布式数据库中间件还在研发中,一旦数据库挂掉,系统也就随着挂掉。于是研发团队选择了使用一主多备数据存储方式,并且在数据库层面也进行逻辑拆分,分为核心链路和非核心链路拆分,非核心业务使用核心链路,核心业务使用核心链路,非核心链路出现问题,并不会影响核心链路。增强了数据的稳定性,在野蛮生长期减缓了问题的爆发。

 


  

贝贝网2.0版本的技术架构



资源层容量及性能瓶颈,应用变得不可维护,破而后立。3.0 – 涅槃(2015 ~ 2016)


经历了野蛮生长期的贝贝网技术系统已经到了非要改变不可的地步,当时的服务器机房里硬件已经堆到头了,开发人员们简直都开始互相伤害了,运维们也成了“背锅侠”。但是其实大家都明确地知道接下来该做什么。随着业务的不断发展,贝贝网的技术架构也必须满足大型企业级架构的三点核心:通过服务框架对应用进行拆分解耦、采用异步消息来对系统进行解耦,使用分布式数据访问去实现数据层能够无限扩容。但是问题也来了,究竟该怎么去做?


在服务器框架问题上有两个主要的关键点:第一,继续使用PHP还是转向Java,在行业内当应用发展到这个阶段大家基本都会遇到这个问题:到底是转向Java还是死磕PHP?贝贝网最终还是选择了Java,因为Java在服务领域有成熟和充分被印证的解决方案。对于贝贝网而言Java更合适。然而同时必须要面对的一个问题就是遗留系统怎么办?在这一点上,贝贝网的开发人员们选择了以异构系统远程调用的方式解决这样的问题。而在数据访问层处理上,因为不光使用了Java所以不能简单地选择Client实现,还有PHP的连接池等诸多问题,于是选择了Proxy。在3.0时代,贝贝网的服务层基本都是使用Java,而应用层则使用了Java和PHP。



           


                                                                贝贝网3.0版本的技术架构


 


这样的一张技术架构图是贝贝网在2014年创建的时候就想要去做,但是即便当时能设计这样的方案,也不可能得到足够的资源。而当贝贝网真正发展到3.0阶段时,就有能力投入大量的精力和物力。因为对于开发来说,随着业务的增长,运营等成本是在不断上升的,业务拆分不断变细,服务依赖形为网状结构,所以这样的一个成熟技术框架是必需的。


贝贝网3.0将整体构建在阿里云上,借助阿里电商云提供的基础设施、互联网中间件及电商增值服务,快速完成技术框架的转型及优化。

 

剖析持续交付和监控体系的研发支撑体系

 

贝贝网的研发支撑体系中非常重要的两点就是持续交付和监控体系。


持续交付:良好的持续交付支撑体系是快的基石。

                 


监控体系:快的代价是质量,完整的各层监控很重要。


在分享的最后,郁佳杰表示:“在今天世界电子商务飞速发展的状态下,对于技术架构而言,高歌猛进固然好,但学会克制也同样重要,因为最终来看,唯有快了才能摘取成功的果实!”


阿里云生态增值服务,助力电商的业务转型

还有一场演讲同样得到了大家的称赞,来自博云视觉的陈杰所做的题为《博云视觉-开启电商新时代》的分享。


对于大量中小电商来源,业务拓展与技术研发永远是一对矛盾体,业务拓展希望快是无极限,而技术研发的快是有瓶颈的。依托阿里云提供的基础设施,借助博云视觉这类合作伙伴提供的增值服务,中小电商可快速实现业务转型,开展新一轮的业务拓展。


在陈杰看来,在日常生活中,对于商品的搜索需求可以说是无处不在。当我们看到电视剧或者海报中的明星同款商品时;或者在现实生活场景中甚至朋友圈中,对于某些一见倾心的商品时;乃至在经济全球化的今天,面对满是不同语言的商品时。这些应用场景下,商品搜索的需求就会极大地显现。


同样的时代背景下,利用传统的文本搜索方式往往不容易得到我们想要的结果。用户往往会遇到描述障碍,信息不对称或不全,以及语种不对称等诸多困扰我们的问题。相比之下,利用“一图胜千言”的图片进行搜索就可以解决文本搜索所带来的诸多问题。“图像就像原子中的原子核,蕴含着远比文本多得多的信息。”


相比传统的文本搜索而言,图像搜索是通过智能前端对现实场景进行取图,然后通过移动网络等将数据传入云端,经过一系列计算并与后台商品图像非结构化的数据库进行比对,并返回正确匹配的结果。


目前利用了图像搜索的新应用有很多,例如百度识图,拍立淘,微信扫一扫和京东拍立购。

图像搜索逐渐开始广泛应用的同时,也面临着诸多的挑战,例如:


在智能前端方面:设备的CPU性能、存储、电池电量等移动设备计算资源有限。然而图像搜索响应的时间和准确率直接影响用户体验。

在移动网络方面:无线网络在带宽、时延等方面上存在局限性。但是传输单幅图像通常需要400K字节以上的数据。

在云端计算方面:也面临海量图像数据的存储、搜索复杂度问题。亿级规模以上的电商图像大数据的存储、计算也将会是一个巨大的挑战。

  

面对当前图像搜索的挑战,博云视觉提出的新方案是:紧凑视觉特征表示+高性能图像搜索。在前端,通过调用SDK直接获取现实场景图像的紧凑视觉特征,发送到服务端进行查询;在云端,建立在阿里云稳定的海量商品图像数据管理的基础上,构建图像特征搜索引擎,实现对商品图像非结构化数据的精准搜索。此外,依托于阿里云全球化的服务平台部署,可以保证在世界各地使用图像搜索服务时交互的流畅性和搜索结果的准确性。


这里所谓紧凑视觉特征表示就是移动终端直接提取低比特、低复杂度、高准确率的紧凑视觉特征,并发送到服务端进行搜索。而高性能图像搜索则是基于紧凑视觉特征,构建高效的海量特征索引算法,解决超大规模图像非结构化数据搜索难题。

 

通过对前端获取的图像进行兴趣点检测、特征提取、特征压缩等一系列的操作后提取出图像信心的全局聚合特征和局部压缩特征,之后再经过熵编码将信息转化为可伸缩紧凑视觉特征码流进而传入云端服务器进行计算获取相关信息。全局特征的小而快能够帮助云端迅速在数据库中缩小目标范围,形成可能结果集,再由局部特征进行精细化比对,从而得到准确的搜索结果。这其实好比人类的认知过程,对事物现有一个大体的认知,之后再对细节进行认知。

 

在他看来,图像搜索的核心技术特点:准、小、快

  

准:准确率高 百万规模评测数据集上,搜索平均准确率高于86%。由此可以提高用户体验、增加用户黏性。


小:描述子小 单幅图像特征大小小于4K字节。由此可以降低带宽数据传输、终端以及云端数据存储压力。


快:搜索速度快 单处理器千万规模秒级搜索。由此保证对大数据的搜索效率,支持高并发访问。

 

图像搜索技术将成为未来电商购物交互方式的标准配置,围绕阿里云计算的良好电商生态环境,将规范化商品图像视觉特征表示,这样使得:不同商家的云端图像特征数据库与多样化的前端应用产生的图像紧凑视觉特征能够“互操作”,并且规范化使得不同尺寸的特征之间也能够“互操作”。

 

应用案例:


规范化紧凑视觉特征表示以及高性能图像搜索技术将大大促进图像搜索技术的产业化应用。

 

博云视觉表示对电商图像搜索的未来愿景:建立在阿里云的图像视频大数据管理平台基础上,专注于图像搜索技术的研发,为阿里云计算生态环境中的广大电商合作伙伴提供最领先而高效的以图搜图标准化服务。陈杰在分享的最后表示:构建在阿里云之上的图像搜索在大数据电商时代一定能爆发出像原子核一样的巨大能量。

想要对阿里云电商架构方面有更多的了解,针对企业做出针对性的云架构请联系售后技术支持。

售后服务电话:0371-56982786  技术支持QQ:3403685267

客服电话:0371-56982939  客服QQ请点击右侧


相关资讯

售前咨询:

0371-56982772