今日头条技术架构分析( 二 )


今日头条的图片存储 , 直接放在数据库中 , 分布式保存文件 , 读取的时候采用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 种模式上都有所应用 。




推荐阅读