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

“一个帮你赚钱的网站”是转转二手交易平台的定位,主要解决从买买买到卖卖卖的问题。在共享经济的情况下,大家可以把闲置的手机、电脑等物品,通过转转二手交易平台卖出去,赚一些零花钱。转转二手交易平台整体架构设计采用微服务架构,于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),扩大匹配商品候选集,尽可能匹配出近全量的商品数据。

数字化转型:如何打造AI工程架构体系相关推荐

  1. 深信服李新:企业数字化转型一定是“一把手”工程 | 2020全球数字价值峰会

    关注ITValue,看企业级最新鲜.最价值报道! 9月3日-5日,由钛媒体和ITValue主办的2020全球数字价值峰会正在三亚进行.第一天日程中,深信服科技云计算事业群副总裁李新发表了<赋能组 ...

  2. 为什么数字化转型必须是一把手工程?

     关注ITValue,看企业级最新鲜.最价值报道! 作者丨王勇 谢晨颖 出品丨洞见学堂 在众多的数字化转型研究中,无一不提到一个重要观点:"一把手工程",也有越来越多的董事长.CE ...

  3. 中国的“Databricks”们:打造AI基础架构,我们是认真的

    AI落地最大的驱动因素是基础架构的升级. 近年来,大数据分析.AI等领域一直备受关注,常有引人关注的融资事件发生.美国数据科学公司Databricks刚刚在今年8月底完成了16亿美元H轮融资,其最新估 ...

  4. 微博广告推荐策略工程架构体系演进

    导读:本次分享的主题为微博广告策略工程架构体系演进,将介绍微博广告在从0到1,从1到 N 的过程中,微博广告架构是如何支持策略.算法.模型迭代的,包括以下几部分: 概述 微博广告策略工程架构体系演进 ...

  5. 【经验分享】打通“任督”二脉——企业数字化转型中如何构建DevOps能力体系?

    一.企业数字化转型背景 企业数字化转型(Enterprise Digital Transformation)的概念在过去二十年持续升温.2020年8月21日,国务院国资委办公厅下发了<关于加快推 ...

  6. 到「黄埔学院」去:打造AI首席架构师,第二期限量招募!

    今年 1 月,百度联合"深度学习技术及应用国家工程实验室"成立黄埔学院,旨在为产业培养第一批"首席AI架构师".黄埔学院一期学员历时半年的学习和交流,6 月 1 ...

  7. 指令集 x 数澜科技丨加速政企数字化转型,打造DT领域独角兽企业联盟

    2022年7月13日,指令集智能科技与数澜科技签署战略合作协议,指令集CEO宋杨博士.数澜科技联合创始人江敏先生等多位领导出席了签约仪式.双方已在多个项目层面开展了具体合作,未来将重点推进产品融合.市 ...

  8. 数字化转型--基于事件驱动的中台架构实践(一)

    目录 1.背景 2.什么是业务流程驱动引擎 3.核心概念 4.技术实现 5.思考及后续规划 引言:在方舟(业务能力研发协作平台).水滴(业务能力扩展框架).业务能力共享模型(业务侧可视化的自定义业务对 ...

  9. 数字化转型--银行核心系统|应用架构与案例

    应用架构(Application Architecture)介于业务与数据和技术架构之间,在银行企业架构和信息系统规划起着很重要的作用. 本文主要介绍应用架构的原则和包含的内容,以及典型银行应用架构的 ...

最新文章

  1. JSP--JavaBean
  2. python使用lxml及request爬取-python用lxml解析网页为什么不完整?
  3. linux命令awk
  4. 钢琴演奏:舒伯特的小夜曲 --- 女儿的钢琴学习
  5. 在caffe上fine-tuning网络
  6. pandas(七) -- 数据分组
  7. mysql外部定义方法_MySQL定义方法和存储过程
  8. docker 修改服务器,docker-修改容器挂载目录的3种方法小结
  9. eShopOnContainers 知多少[12]:Envoy gateways
  10. java使用properties_Java中使用Properties配置文件的简单方法
  11. vim 配置_一步步配置VIM(3)-与latex结合
  12. PMP笔记-项目管理过程中的审计类型
  13. 【195】apache2.4安装ssl 证书
  14. MySQL Enterprise Backup使用简介
  15. iOS9 3DTouch、ShortcutItem、Peek And Pop技术一览
  16. 移动开发APP的开发框架
  17. Startup is Ready,Geek to Startup!
  18. Html与CSS快速入门01-基础概念
  19. 宽带运营商服务器未响应是什么意思,宽带拨号服务器无响应
  20. 【1071】C语言程序设计教程(第三版)课后习题6.9

热门文章

  1. 哈工大计算机学院刘明,哈工大机电工程学院机械工程专业导师介绍:刘明
  2. 计算机考试计划,全国网络考试计算机复习计划
  3. 导航上显示某个地点已关闭什么意思_导航只认手机高德和百度?已经有车载导航帅到我了...
  4. 这应该是适配安卓8.0最好的亲身列子了。。。。
  5. win10搜索框怎么关闭_怎么关闭win10笔记本电脑触摸板
  6. 类型四:间断点及分类
  7. 【Donut论文】Unsupervised anomaly detection via variational auto-encoder for seasonal kpis...
  8. vue 手机移动端预览pdf
  9. 怎么和小伙伴语音连麦,你造吗?
  10. [渝粤教育] 西南科技大学 律师实务 在线考试复习资料2021版