BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

您现在处于全屏预览
关闭全屏预览

知乎 feed 流架构演进
录制于:

| 作者 姚钢强 关注 0 他的粉丝 发布于 2018年2月16日 | ArchSummit北京2018 共同探讨机器学习、信息安全、微服务治理的关键点
31:12

概要
知乎首页信息流根据业务类型(实时性,资源节省,算法排序)选择了 PULL 类型的架构,而且系统中存在大量过滤,会产生反复到底层 feed source 拉取的问题。响应时间受到了比较大的影响达到了 1.6s。 解决方案选型:尽量使计算接近存储,节省网络和序列化开销。使用最新的 Redis module 技术,定义针对首页业务逻辑的 Redis 接口。 方案介绍:将一部分计算逻辑迁移到 Redis 内部,使数据(使用 protobuf 压缩)和计算完全在内存中进行,减少无效网络传输,大大提高计算效率,降低了响应时间。而且 Redis 内部的计算逻辑改变时,不需要重新编译 Redis,只需要动态记载计算逻辑部分即可。 实施后效果说明:响应时间 p95 1.6s - 700ms,节省内存 1T,CPU 500 个,减少首页依赖服务 1/2 的 qps。

个人简介

姚钢强,知乎首页组&技术负责人,2013 年加入知乎,担任首页 feed 流技术负责人。专注于改进 feed 流的稳定性和性能,有丰富的编码和工程攻坚经验。在负责 feed 流项目期间,通过构架优化使响应时间 p95 从 1.6s 降低到 700ms,通过开发规范使稳定性由 99.9% 提升到 99.99%。

全球架构师峰会(International-Architect--Summit,下简称ArchSummit)是由InfoQ中文站主办的一次全球性架构师峰会。ArchSummit专门针对架构师人群,讲述与架构和架构师相关的各方面趋势、技术和案例。这也是继QCon之后,InfoQ中文站主办的又一次高端技术盛会。

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT