1、百度百度AppApp百亿级互动系统技术实践百亿级互动系统技术实践韩学明百度 资深工程师PART 1百度百度AppApp的互动系统介绍的互动系统介绍PART 3未来展望未来展望PART 2互动系统架构的演进互动系统架构的演进PART 4整体回顾整体回顾 +Q&AQ&A1.1.1 1 产品形态产品形态PARTPART 1 1 百度百度AppApp互动系统介绍互动系统介绍技术特点技术特点1.21.21.11.1 百度百度AppApp-产品形态产品形态搜索推荐弹幕列表点赞评论收藏分享热评外露弹幕发表 百度App:百度App是用户可以在手机上进行“搜索+资讯”的客户端,DAU 2亿+。互动:百度App用
2、户可在资讯内容下进行关注、点赞、收藏、评论、弹幕等各种功能,这些用户参与态度表达的功能集统称互动功能。1.21.2 百度百度AppApp互动系统的技术难点互动系统的技术难点百度百度AppApp好看视频好看视频矩阵矩阵AppApp通用能力通用能力互动服务评论评论评价评价弹幕弹幕关注关注点赞点赞表态表态收藏收藏投票投票分享分享一一.互动为百度互动为百度AppApp、好看、好看APPAPP等各种矩阵类等各种矩阵类产品提供通用服务能力,支撑了百度移动生产品提供通用服务能力,支撑了百度移动生态互动生态。态互动生态。二二.建设互动系统的技术难点和挑战建设互动系统的技术难点和挑战产品多 支持百度内产品线超2
3、0+覆盖“搜索+推荐”两大核心应用场景流量高 峰值QPS 100万+天级数据量级 50亿+性能好 接口性能平响100ms,99分位200ms 互动数据分发,秒级延迟2.2.1 1 初始期:基础互动功能设计和架构初始期:基础互动功能设计和架构PARTPART 2 2 互动系统架构的演进互动系统架构的演进演进期:功能复杂化演进期:功能复杂化 +一级服务稳定性构建一级服务稳定性构建2.22.22.32.3 通用化:通用化演进通用化:通用化演进 +数据赋能数据赋能2.12.1 初始期:基础互动功能设计和架构初始期:基础互动功能设计和架构背景:百度背景:百度App App FEEDFEED文章文章/视频
4、需要创建评论、关注、点赞等系统满足用户视频需要创建评论、关注、点赞等系统满足用户交流诉求,需要交流诉求,需要快速快速上线。上线。客户端流量接入外网api层内网服务层数据存储客户端/H5流量客户端协议内网服务mysql、redis2.12.1 初始期:百度初始期:百度AppApp初步建立互动系统初步建立互动系统需求分析+技术选型需求分析:评论:构建评论发布+评论列表的“写+读”系统;点赞/关注/收藏:构建人人/物的关系链;技术选型:尽量在当前架构下进行功能开发扩展,关注迭代速度;当前架构2.12.1 初始期:互动系统架构初始期:互动系统架构-评论的建设评论的建设统一流量接入BFE推荐搜索评论内网
5、流量接入用户文章评论DBREDIS外网API层内网服务层用户在百度App参加评论发表、阅读评论、点赞评论发表评论评论列表评论点赞评论服务评论发布评论审核列表排序评论计数存储设计评论索引表评论索引表主题id评论id评论详情表评论详情表评论id内容评论主题信息评论主题信息主题idsource_info评论排序(单维度)2.12.1 初始期架构的问题暴露(一):功能方面初始期架构的问题暴露(一):功能方面评论发布入库评论点赞点赞倒序评论列表问题一问题二点赞排序智能排序时间排序作者/发评人文章评论优化排序规则需要从点赞排序优化为智能排序+时间最新排序,原有DB排序不满足诉求。阅读评论评论排序浏览者个性
6、化排序小流量优化迭代排序需要根据浏览者的个人兴趣做个性化排序。并且需要做小流量实验满足产品迭代优化评论列表2.12.1 初始期架构的问题暴露(二):性能方面初始期架构的问题暴露(二):性能方面评论列表排序结果用户属性渲染输出问题一问题二评论列表依赖的下游服务较多,个别服务耗时较长,拖慢整体速度,用户体验不好关注点赞封禁管控广告.推荐详情页性能要求高,端到端性能响应时间离线+在线集合方式:离线计算评论粗排得分,支持多维度+小流量;在线排序引入多维度多因子个性化模型,优化评论排序过程。排序流程依赖管理模块评论发表评论阅读评论点赞评论举报行为流分布式队列离线排序模块计算存储redis zset在线排