基于微服务架构的转转二手交易平台

“一个帮你赚钱的网站”是转转二手交易平台的定位,主要解决从买买买到卖卖卖的问题。在共享经济的情况下,大家可以把闲置的手机、电脑等物品,通过转转二手交易平台卖出去,赚一些零花钱。转转二手交易平台整体架构设计采用微服务架构,于2015年11月12号发布。

                     

                                                                 图1 转转总体微服务架构图

如图1所示,可以直观的看到整个架构从左到右进行了垂直拆分,又对从上到下进行了水平分层。架构还设有网关、业务逻辑层、数据访问层、数据存储层、注册中心和配置中心等部分。基于转转总体的微服务架构,孙玄又针对推荐与搜索这两大架构的演进做了详尽的阐述。

 

推荐架构的演进

转转二手交易平台的推荐场景分为用户和商品两个维度。用户进入首页后看到的“看推荐和逛附近”两个板块以及点击分类之后看到的“为你推荐”板块,这三部分属于用户维度。“相似商品“推荐板块属于商品维度。

图2 用户维度和商品维度场景推荐

这些推荐场景背后的技术架构是如何打造的呢?接下来,让我们来看看转转二手交易平台推荐架构的演进。

转转二手交易平台推荐架构的演进可分为“石器时代”、“铁器时代”和“工业革命时代”三大阶段。

石器时代

推荐架构最开始0到1的过程,称之为石器时代,如图3所示。

                                                       图3 “石器时代”架构图

在“石器时代”所有的用户进入首页,都会看到同样的推荐内容。用户请求通过转转APP统一网关接入到推荐业务逻辑层进行一系列操作:如参数验证,拼装搜索请求参数等,最终访问搜索引擎。搜索引擎会进行召回和排序,并把结果返回给推荐业务逻辑层,业务逻辑层进行结果过滤、去重打散、渲染返回结果到APP客户端。

总结来说,“石器时代”的特点有全局推荐、无个性化、召回源单一、基于人工规则排序以及不支持线上ABTest等。

铁器时代

在“铁器时代”首要解决的问题就是个性化推荐,如图4所示为此阶段的架构图。

图4 “铁器时代”架构图

“铁器时代”整个架构最大的变化在于物理分离推荐排序层和召回层。召回层,“铁器时代”做了很多和个性化推荐相关的事情,如计算用户商品特征、计算商品相似度和用户实时画像等等。总结来说,“石器时代”的特点是,第一引入了个性化召回源,第二记录了推荐来源血统,第三为用户的行为流程做了反馈,第四支持了ABTest分组实验。

工业革命时代

历经了两个时代之后,推荐系统的排序结果依然不是很理想,主要是因为排序层仅仅做了分层排序,并没有把多个召回源进行融合排序。“工业革命时代”的核心是实时化+机器学习驱动。

图5 “工业革命时代”架构图

如图5所示,在“工业革命时代”推荐排序层发生了较大变化,引入了统一的机器学习排序模型。如果要引入机器学习排序模型来排序,就需要一些基础设施支持,所以“工业革命时代”增加了推荐统一召回服务层,涉及统一召回服务和统一特征服务。

“工业革命时代”的推荐架构做到了特征、模型的实时化,秒级捕捉到用户对商品变化再针对性推荐商品,进而提升转化率。除此之外,架构内部做到了组件化,可以自定义DSL和灵活编排组件。

未来,推荐架构将实现全面流水线化(如图6),一键完成模型训练、模型上线,实现复杂模型持续集成、快速迭代,从而大大提升生产效率。

图6 转转推荐架构流水线图

 

搜索架构的演进

转转二手交易平台的搜索场景分为分类搜索和关键词搜索,如图7所示。

图7 分类搜索和关键词搜索

在转转二手交易平台中,搜索架构的演进分为三个阶段:规则、机器学习模型和平台化。

规则阶段

搜索架构的第一阶段是人工规则排序,如图8为规则阶段架构图。

图8 规则阶段架构图

规则阶段由搜索逻辑层进行请求参数处理,搜索访问代理层进行参数解析之后,进而访问搜索集群。搜索集群承担召回和排序两阶段。

规则阶段,所有的召回、排序规则都由人工来定,主观调参调权,并且不支持线上ABTest。最终线上搜索效果也是无法有效评估。

机器学习模型阶段

这些阶段,搜索架构主要引入了机器学习模型。如图9所示为机器学习模型阶段架构图。

图9 模型阶段架构图

模型阶段,最主要特点是机器学习化,不仅召回过程中采用了机器学习模型,在排序阶段,大规模采用机器学习模型。由简单模型进行召回粗排,复杂机器学习模型进行细排。此阶段还做到了Query预分析、ABTest分组实验和用户行为数据反馈等。

平台化阶段

搜索通常是一个中台的作用,很多业务线都会用到搜索功能,故搜索架构要实现平台化,如图10所示为平台化阶段架构图。

图10 平台化阶段架构图

平台化阶段最大的变化是Query改写、召回、预测、ABTest等功能服务化,在平台化之后,还要做到服务通用化。

未来,搜索架构致力成为大中台,通过云搜索引擎实现业务一键接入(如图11)。

图11 转转云搜索引擎架构图

 

算法演进

孙玄表示, 算法是为了解决召回和排序这两大问题,无论推荐、还是搜索场景均一样。

召回算法演进,可分为非个性化召回、基于兴趣召回、基于商品的协同过滤(Item-Based CF)和基于用户的协同过滤(User-Based CF)。排序算法演进,可分为基于人工规则、逻辑回归模型、GBDT+LR、Deep&Wide和FTRL。

算法未来演进将实时化和模型化。实时化方面,是针对特征的获取和模型的变更而言。模型化方面,是针对召回层和排序层模型的复杂度而言,未来模型越来越复杂,对工程架构带来的挑战也会越大。

 

电商AI体系未来

关于电商AI体系未来到底应该如何演进的问题,孙玄表示,本质还是解决好商品的匹配(召回问题)和排序(如图12)。排序方面,排序集相对少,架构挑战不大。匹配方面,涉及到海量商品候选集的问题,架构挑战较大。

图12 电商AI体系架构图

图13 电商AI体系提升质架构图

图14电商AI体系扩大量架构图

商品匹配问题如何解决?我们从两方面着手:一方面是提升质(如图13),通过在召回层应用更加复杂的深度学习模型,提升商品召回的准确度;另一方面是扩大量(如图14),扩大匹配商品候选集,尽可能匹配出近全量的商品数据。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐