人找货匹配架构演进

简介: 我们的应用场景是根据用户搜索条件,召回匹配的货源给司机。场景中涉及到匹配货源召回,匹配货源排序,预测匹配货源等环节。

背景

我们应用场景的人找货就是根据用户的搜索条件,从货源库中找到匹配的货源返回给用户。此场景的实现主要涉及货源渲染、召回、排序等主要环节。

人找货匹配架构1.0

车找货架构1.0.jpg

search-app:
作为人找货的入口,为用户提供直接的货源条件筛选。

货源召回:
承接货源召回底层处理,对用户的搜索条件进行泛化、对ES搜索结果进行排序、对排序后结果进行缓存。

ES:
在线货源存储在Elasticsearch中,利用ES的搜索特性和脚本排序能力。

此架构在业务发展初期,很好的解决了搜货问题。但是随着业务和产品快速发展,对搜货的要求也变得越来越复杂,对排序的质量也越来越高,召回服务变得非常臃肿,在此架构下的功能迭代也很难适应人找货的精细化控制。

人找货匹配架构2.0

为了适应业务和产品的快速发展,对人找货实现更加精细化的控制,架构2.0中对货源召回做了拆分。
车找货架构2.0.jpg

搜货引擎:
搜货引擎对执行搜货的具体过程进行流程编排,并对召回和精排后的货源进行缓存,为search-app提供数据分页等能力;
货源召回:
召回服务在功能上做了简化,在召回质量和性能上做了升级。提供了精准召回和用户特性的多路召回,大量增加了召回结果数量,对于每个用户在保留精准搜索结果的基础上,增加了每个用户特有的搜索意图;
精排:
精排对召回出来的货源进行精准排序,结合详细的货源特性、用户特征,实现对召回结果的多维度排序,并对排序后的结果进行截断。

架构升级到2.0后,很好的解决了业务和产品对于找货的精细化控制,召回和精准排序也独立进行功能迭代,提升了产品研发的效率。

相关文章
|
运维 Cloud Native 架构师
【组装式架构设计】架构演进简史
一步一步从单体到 SOA,从微服务再到云原生的科普后端架构演进史
28071 12
【组装式架构设计】架构演进简史
|
微服务
微服务架构演进图
微服务架构演进图
470 0
微服务架构演进图
|
双11
《九年双11云化架构演进和升级,打造更加完美的双11》电子版地址
九年双11云化架构演进和升级,打造更加完美的双11
88 2
《九年双11云化架构演进和升级,打造更加完美的双11》电子版地址
|
存储 运维 前端开发
浅谈架构演进
绪论设计原则千万条,高聚松耦第一条,架构设计不规范,开发运维两行泪!1.单体架构在单体架构之前的上古时代,所有的东西(应用程序,文件系统,数据库,web)都被部署并运行在一台服务器上,随着业务逻辑的逐渐复杂,数据存储开始变的低效,整个系统全部揉杂在一起,相互影响,耦合度极高。随着软件规模的扩大,单台服务器已经不能满足软件运行的需求,开始出现了软件的单体架构。单体架构的风格就是简单意味着一个程序中包
272 0
浅谈架构演进
|
存储 设计模式 负载均衡
Android 的架构演进
在 Android 需要哪些架构手段一文中,我们讲述了一些我们需要了解学习的架构手段,我们已经学习到了一些常用的手段。那么对于一个项目、一个软件产品来说,我们的架构是如何跟随软件的生命周期来演进的呢?
Android 的架构演进
|
弹性计算 开发框架 运维
阿里云无影云桌面-桌面即服务的架构演进
无影是终端用户计算产品线,由云桌面、云应用、云数据、终端等共同组成。无影云桌面,在架构上,也经历了几次大的架构调整和升级。无影云桌面是一个Desktop As A Service产品。
3222 3
阿里云无影云桌面-桌面即服务的架构演进
|
弹性计算 架构师 Serverless
serverless 入门与实践 | 学习笔记5: 华为终端云从微服务到 Serverless 的架构演进实践
serverless 入门与实践 | 学习笔记5: 华为终端云从微服务到 Serverless 的架构演进实践
288 0
serverless 入门与实践 | 学习笔记5: 华为终端云从微服务到 Serverless 的架构演进实践
|
Cloud Native

热门文章

最新文章