知乎推荐系统的实践及重构之路

数据分析学习社
数据分析学习社
数据分析学习社
348
文章
0
评论
2021-07-3110:01:36 评论 493 647字
摘要

知乎,推荐系统的实践及重构之路!

 

1、背景

知乎,是一个大规模的综合性知识内容平台,注册用户数累计2.2 亿,有超过 3000 万的问题,超过 1.3 亿个回答,存在着大量的推荐场景。

知乎推荐系统的实践及重构之路

先讲讲推荐系统的总体流程和架构:

知乎推荐系统的实践及重构之路

显示推荐系统的流程

知乎推荐系统的实践及重构之路

知乎早期部分推荐系统总体架构

知乎推荐系统的实践及重构之路

存在哪些问题呢?

首先,对多路召回支持不友好;

其次,召回索引全部基于Redis

第三点,通用特征和通用监控建设都较困难。

第四点,缺乏统一的校验和落地方案。

第五点,不支持多队列融合。

2、推荐系统重构之路重构前的思考

1)语言的选择。

2)如何支持多队列混排和支持多路召回的问题。

3)召回索引除了Redis 之外,引入其他索引数据库。

首先,我们先看语言上的选择方案。

知乎推荐系统的实践及重构之路

我们选择Golang,具体理由

1)Golang 天然的优势,支持高并发并且占用资源相对较少。

2)知乎内部基础组件的 Golang 版生态比较完善。

重构之路——架构设计

知乎推荐系统的实践及重构之路

知乎推荐系统的实践及重构之路

知乎推荐系统的实践及重构之路

知乎推荐系统的实践及重构之路

3、遇到的问题及应对方案

1)离线任务和模型的管理问题。

2)特征日志问题。

3)服务监控问题。

遇到的问题

知乎推荐系统的实践及重构之路

知乎推荐系统的实践及重构之路

特征日至问题:理想与现实

知乎推荐系统的实践及重构之路

知乎推荐系统的实践及重构之路

服务监控问题

知乎推荐系统的实践及重构之路

知乎推荐系统的实践及重构之路

知乎推荐系统的实践及重构之路

4、未来挑战

  • 数据、规模快速扩张;
  • 策略用用和业务隔离的协调;
  • 资源调度和性能开销;
  • 多IDC机房数据的同步。

5、总结

  • 重构语言的选择,关键跟公司技术背景和业务场景结合起来;
  • 架构尽量灵活,并不断自我迭代;
  • 监控要早点开展,并尽可能底层化、通用化。

 

 

End.

作者:孙付伟

本文为转载分享,如果涉及作品、版权和其他问题,请联系我们第一时间删除(微信号:lovedata0520)

更多文章前往首页浏览http://www.itongji.cn/

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: