今日头条技术架构分析_一直在努力的小渣渣-CSDN博客_架构分析

标签: | 发表时间:2020-08-14 07:46 | 作者:
出处:https://blog.csdn.net

​ ​ 今日头条创立于2012年3月,到目前仅4年时间。从十几个工程师开始研发,到上百人,再到200余人。产品线由内涵段子,到今日头条,今日特卖,今日电影等产品线。

一、产品背景

​ ​ 今日头条是为用户提供个性化资讯客户端。下面就和大家分享一下当前今日头条的数据(据内部与公开数据综合):

  • 5亿注册用户

2014年5月1.5亿,2015年5月3亿,2016年5月份为5亿。几乎为成倍增长。

  • 日活4800万用户

2014年为1000万日活,2015年为3000万日活。

  • 日均5亿PV

5亿文章浏览,视频为1亿。页面请求量超过30亿次。

  • 用户停留时长超过65分钟以上

1、文章抓取与分析

​ ​ 我们日常产生原创新闻在1万篇左右,包括各大新闻网站和地方站,另外还有一些小说,博客等文章。这些对于工程师来讲,写个Crawler并非困难的事。

​ ​ 接下来,今日头条会用人工方式对敏感文章进行审核过滤。此外,今日头条头条号目前也有为数不少的原创文章加入到了内容遴选队列中。

​​ ​ 接下来我们会对文章进行文本分析,比如分类,标签、主题抽取,按文章或新闻所在地区,热度,权重等计算。

2、用户建模

​ ​ 当用户开始使用今日头条后,对用户动作的日志进行实时分析。使用的工具如下:

- Scribe

- Flume

- Kafka

​ ​ 我们对用户的兴趣进行挖掘,会对用户的每个动作进行学习。主要使用:

- Hadoop

- Storm

​ ​ 产生的用户模型数据和大部分架构一样,保存在MySQL/MongoDB(读写分离)以及Memcache/Redis中。

​ ​ 随着用户量的不断扩展大,用户模型处理的机器集群数量较大。2015年前为7000台左右。其中,用户推荐模型包括以下维度:

1 用户订阅

2 标签

3 部分文章打散推送

此时,需要每时每刻做推荐。

3、新用户的“冷启动”

​ ​ 今日头条会通过用户使用的手机,操作系统,版本等“识别”。另外,比如用户通过社交帐号登录,如新浪微博,头条会对其好友,粉丝,微博内容及转发、评论等维度进行对用户做初步“画像”。

​ ​ 分析用户的主要参数如下:

- 关注、粉丝关系

- 关系

- 用户标签

​​ ​ 除了手机硬件,今日头条还会对用户安装的APP进行分析。例如机型和APP结合分析,用小米,用三星的和用苹果的不同,另外还有用户浏览器的书签。头条会实时捕捉用户对APP频道的动作。另外还包括用户订阅的频道,比如电影,段子,商品等。

4、推荐系统

​ ​ 推荐系统,也称推荐引擎。它是今日头条技术架构的核心部分。包括自动推荐与半自动推荐系统两种类型:

1 自动推荐系统

- 自动候选

- 自动匹配用户,如用户地址定位,抽取用户信息

- 自动生成推送任务

这时需要高效率,大并发的推送系统,上亿的用户都要收到。

2 半自动推荐系统

- 自动选择候选文章

- 根据用户站内外动作

​ ​ 头条的频道,在技术侧划分的包括分类频道、兴趣标签频道、关键词频道、文本分析等,这些都分成相对独立的开发团队。目前已经有300+个分类器,仍在不断增加新的用户模型,原来的用户模型不用撤消,仍然发挥作用。

​ ​ 在还没有推出头条号时,内容主要是抓取其它平台的文章,然后去重,一年几百万级,并不太大。主要是用户动作日志收集,兴趣收集,用户模型收集。

​ ​ 资讯App的技术指标,比如屏幕滑动,用户是不是对一篇都看完,停留时间等都需要我们特别关注

在这里插入图片描述

5、数据存储

​ ​ 今日头条使用MySQL或Mongo持久化存储+Memched(Redis),分了很多库(一个大内存库),亦尝试使用了SSD的产品。

​ ​ 今日头条的图片存储,直接放在数据库中,分布式保存文件,读取的时候采用CDN。

6、消息推送

​ ​ 消息推送,对于用户: 及时获取信息。对运营来讲,能够 提⾼⽤用户活跃度。比如在今日头条推送后能够提升20%左右的DAU,如果没有推送,会影响10%左右 DAU(2015年数据)。

​ ​ 推送后要关注的ROI:点击率,点击量。能够监测到App卸载和推送禁用数量。

​ ​ 今日头条推送的主要内容包括突发与热点咨讯,有人评论回复,站外好友注册加入。

​ ​ 在头条,推送也是个性化:

- 频率个性化

- 内容个性化

- 地域

- 兴趣

比如:

​ ​ 按照城市:辽宁朝阳发生的某个新闻事件,发给朝阳本地的用户。

​ ​ 按照兴趣:比如京东收购一号店,发给互联网兴趣的用户。

​ ​ 推送平台的工具和选择,需要具备如下的标准:

​ ​ ​ ​ - 通道,首先速度要快,但是要可控,可靠,并且节省资源

​ ​ ​ ​ - 推送的速度要快,有不同维度的策略支持,可跟踪,开发接口要友好

​ ​ ​ ​ - 推送运营的后台,反馈也要快,包括时效性,热度,工具操作方便

​ ​ ​ ​ - 对于运营侧,清晰是否确定推荐,包括推送的文案处理

​ ​ 因此,推送后台应该提供日报,完整的数据后台,提供A/B Test方案支持。

​ ​ 推送系统一部分使用自有IDC,在发送量特别大,消耗带宽较严重。可以使用类似阿里云的服务,可有效节省成本。

二、今日头条系统架构

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三、头条微服务架构

​​ ​ 今日头条通过拆分子系统,大的应用拆成小应用,抽象通用层做代码复用。

在这里插入图片描述

​​ ​ 系统的分层比较典型。重点在基础设施,希望通过基础设施提高快速迭代、容灾和一系列的工作,希望各个业务团队能更快做业务上的迭代以及架构上的调整。

四、今日头条的虚拟化PaaS平台规划


​ ​ 通过三层实现,通过 PaaS 平台统一管理。提供通用 SaaS 服务,同时提供通用的 App 执行引擎。最底层是 IaaS 层。

在这里插入图片描述

​ ​ IaaS 管理所有的机器,把公有云整合起来,头条有一些热点事件会全国推广推送,对网络带宽比较高,我们借助公有云,需要哪一种类型计算资源,统一抽象起来。基础设施结合服务化的思路,比如日志,监控等等功能,业务不需要关注细节就可以享受到基础设施提供的能力。

五、总结

​ ​ 今日头条重要的部分在于:

  • 数据生成与采集
  • 数据传输。Kafka做消息总线连接在线和离线系统。
  • 数据入库。数据仓库、ETL(抽取转换加载)
  • 数据计算。数据仓库中的数据表如何能被高效的查询很关键,因为这会直接关系到数据分析的效率。常见的查询引擎可以归到三个模式中,Batch 类、MPP 类、Cube 类,头条在 3 种模式上都有所应用。

参考资料: 今日头条的核心架构解析

​ ​ ​ ​ ​ ​ Go – 今日头条架构

​ ​ ​ ​ ​  从无到有、从小到大,今日头条大数据平台实践经历的那些坑

​ ​ ​ ​ ​  今日头条推荐系统架构设计实践

  收集资料,码字,整理,最后排版都不容易,如果觉得对你有用的话,凑个奶茶钱(非强制啊,只是想犒劳自己一下)~

 微信         支付宝
微信收款码 支付宝收款码

相关 [今日头条 技术 架构] 推荐:

今日头条技术架构分析_一直在努力的小渣渣-CSDN博客_架构分析

- -
​ ​ 今日头条创立于2012年3月,到目前仅4年时间. 从十几个工程师开始研发,到上百人,再到200余人. 产品线由内涵段子,到今日头条,今日特卖,今日电影等产品线. ​ ​ 今日头条是为用户提供个性化资讯客户端. 下面就和大家分享一下当前今日头条的数据(据内部与公开数据综合):. 2014年5月1.5亿,2015年5月3亿,2016年5月份为5亿.

今日头条推荐算法原理首公开,头条首席算法架构师带来详细解读

- - 雷锋网
雷锋网 AI 研习社按,本文作者今日头条,雷锋网 AI 研习社获其授权转载. 今天,算法分发已经是信息平台、搜索引擎、浏览器、社交软件等几乎所有软件的标配,但同时,算法也开始面临质疑、挑战和误解. 今日头条的推荐算法,从2012年9月第一版开发运行至今,已经经过四次大的调整和修改. 今日头条委托资深算法架构师曹欢欢博士,公开今日头条的算法原理,以期推动整个行业问诊算法、建言算法;通过让算法透明,来消除各界对算法的误解,并逐步推动整个行业让算法更好的造福社会.

今日头条的五个亿

- - 扯氮集--上海魏武挥的博客 - 扯氮集--上海魏武挥的博客
有媒体传出消息,“今日头条”日前完成了C轮融资,融资额度为1亿美元,对应的,公司估值5个亿美元. 这个数字很夸张,一来因为一年前B轮融资的时候,估值还不过6000万美元. 二来,一个新闻客户端,居然值那么多钱. i黑马昨日发表了一篇很长的对今日头条创始人张一鸣的专访,从这篇专访中,大致可以看出点端倪.

今日头条产品思路分析

- - 人人都是产品经理
法则之三:少即是多(摘自《感知的、几款过亿美金APP的创业法则》). 媒体是最容易被操纵的,也是最容易变成一个官僚权力纷争的名利场,它被太多外在因素干扰. 而技术是一种手段,可以公正公平地让每个用户感知到自己的偏好,而且通过不断智能筛选还能提高用户的粘性和数据的多维度. 我想这才是真正的互联网手段去颠覆传统媒体,当然这也是那些来自报社杂志社的在各家门户琢磨着标题党的同学们不敢想、不屑想的手法.

应用架构和技术架构

- - 人月神话的BLOG
在这里再谈下应用架构和技术架构的关系和边界问题,这里的说明和标准的TOGAF会有一些区别,仅为个人理解的一些点滴记录. 首先再说下应用架构,应用架构是和业务架构有强烈的映射关系的一个架构,应用架构要说明的是整体企业内部信息化建设和规划应该分为哪些应用系统去建设,应用系统间的集成关系是如何的. 即我们常说的应用架构和应用集成架构.

Instagram的技术架构

- - 标点符
Instagram 被 Facebook 以10亿美金收购. 而在被Facebook收购前的一个月,整个团队才7名员工. 2011年: 3 位工程师. 2012年: 5 位工程师. 坚持 DRY(Don’t Repeat Yourself)原则. 使用通知/信号机制实现解耦. 我们大部分工作使用Python来完成,只有逼不得已的时候,才会用C.

eaby技术架构变迁

- - CSDN博客架构设计推荐文章
如果你对项目管理、系统架构有兴趣,请加微信订阅号“softjg”,加入这个PM、架构师的大家庭. 最近在infoq上面看到 ebay介绍其系统架构变迁以及系统设计分享方面的讲座,其中陈述了ebay从1995年到2006年之间系统架构的变化过程. 从这里,我们可以学习到许多宝贵的经验来设计一个大容量,高并发,分布式的系统.

业务架构、信息架构、技术架构三位一体

- -
        客户天天打电话要修改产品功能,简单的一个需求可能要做一个月. 产品越改越笨重,为了赶工期bug越来越多.         产品从初级版到现在已经四个年头,相关的程序员来去换了三批,在补丁上打补丁是常有的事,很多功能只是开了个头,换个项目经理就被遗忘. 我们总是害怕客户在这个产品上提出新的需求,只要客户还用得过去,能不改就不改.

“今日头条”侵权的几种可能

- - 付亮的竞争情报应用
1、新闻聚合增值,潜力还很大,“今日头条”的聚合仍属于初级阶段. 2、不改变原始网址,通过“标题+链接”或“标题+摘要+链接”做内容聚合,除非原来源明确表示禁止,我不认为构成了侵权. 3、如果链接到的网页已构成侵权,聚合也构成侵权. 4、内容来源明确拒绝第三方聚合后,未经单独许可,坚持聚合会构成侵权.

品读:与今日头条反向而行

- - 动点科技
尽管个性化阅读软件“ 今日头条”此前面临来自《新京报》、搜狐等合作媒体以及国家版权局的压力,但作为一家新闻资讯推荐公司,北京旭宁信息技术有限公司CEO徐屾屾认为,“从其产品来说,今日头条推荐的新闻还是很准确. 徐屾屾的团队一起合作了很多年,这是一个有多年开发经验的老团队. 2009年初,他们做的第一款手机应用Daily Finance iPhone App就成为美国最受欢迎的金融应用,之后又连续做了4款游戏.