大数据实时体系的架构和应用-腾讯


大数据实时体系的架构和应用 数据平台部/实时计算中心/业务开发组 关于我 2010年加入腾讯数据平台部负责 分布式计算平台,集群调度的开 发,现负责实时计算体系基础建 设 和基于实时计算平台的推荐系 统建设和业务推广。 微信:tshirt 邮箱:gabyzhang@tencent.com 数据平台目标-促进公司各业务数据共享  QQ、手Q  qzone、朋友  会员、超Q、QQ秀  开放平台  微信  CF、DNF等几十款  注册、登录  付费、充值  游戏内个性数据 生活化电商,微店  用户行为(交易、收藏)  产品类目信息  财付通  计费、营销  搜索、地图LBS  邮箱  输入法  腾讯网网站行为  视频、音乐  新闻 广告 • 400亿 • <200G 2011 3000亿 20T 2013 • 1.8万亿 • ~=200T 2015 日均接入数平的数据 TDBank- 数 据 接 入 IDE - 集成开发 LZ - 任务调度 TRC - 实时计算 TDW - 离线计算 Gaia - 资源调度 数据 应用 TDE HERMES HDFS HBase PG Tube Spark 分布式 存储 精准推荐 数据提取 画像分析 自劣报表 …… 信鸽 MTA 秒级监控 数据平台部大数据体系基础架构 TRC的整体架构 TDBank 压缩加密 实时采集 分发过滤 TDProcess 计算引擎 分布式框架 实时 算法 滑动 窗口 去重 过滤 持久 化 路由 管理 负载 均衡 消息 分发 链接 管理 TDEngine 路由管理 容灾备份 劢态扩容 一致性控制 内存管理 数据迁移 平 台 组 件 任务配置中心 输入逻辑 处理逻辑 输出逻辑 开发平台 IDE环境 编译调试 任务提交 开 发 接 口 运 营 管 理 监控中心 告警服务 配置中心 日志中心 资源 管理 硬件资源管理 资源管理 资源隔离 扩容管理 软件资源管理 服务调度 容灾恢复 权限管理 数据接入主要问题  主要矛盾  数据总量巨大  数据源种类繁多  数据格式各异  数据分布IDC众多  核心需求  秒级接入延时  成本、效率、安全  方便数据管理和使用  特色功能  自劣接入  多种格式适配  公网加密传输 业务数据源 消息 文件 DB 其他 Agent(binlog解析/打包/压缩…) 数据接入中心 Bus(协议解析/解压/滤重…) 数据存储中心 Tube(消息订阅/推送…) TRC TDW 数据分拣中心 Sort(协议转换/分拣…) HDFS HBase MySQL …… 数据存储层 …… TDBank 业务管理系统 元数据管理 业务配置 权限管理 运营操作 可视化DataFlow建模 代码生成器 piglatin/SQL编辑器 开发 工具 编译调试 远程提交 PigLatin/SQL语言适配 语法解析:AST 执行引擎适配 通用推荐 流式I/O库 并行度优化策略 语义解析:Physical Plan 语义解析:Logical Plan 语言 扩展 计算 引擎 实时算法库 业务开发 任务提交 TDProcess流式处理引擎 Storm Ecosystem Storm-Core 内核和接口 Storm-UI 界面 Storm-Scheduler 调度 Storm-IO (storm-tube kafka, hdfs, hbase, DBs) 输入输出库 Storm-Gaia/Docker 部署和资源管理 Storm-Cli (drpc, sql, pig script, dog script …) 交互 Stream-ML 算法 Storm-Ganglia 监控 Storm-Example 基准测试 Scheduler Impls 基于物理机器负荷的调度策略: 按照机器的CPU/MEM资源使用百分比进行调度,理想结果是集群中每 天机器的CPU/MEM使用百分比是相近的 What about resource negotiation? But … … … 6700 6701 6702 6703 6700 6700 6701 80% 75% 82% Gaia在腾讯 –服务器 8800台 •–CPU ~20w+核 •–内存 ~600TB •–磁盘 ~52800块 •–存储容量 ~200PB •-每天调度的container个数 ~1亿+ Yarn Resources Manager Yarn Container App Master UI Zookeepe r Yarn Container work supervi sor 心跳上 报 1.提交任 务 2.分配资 源 3.动态调 配任务所 需要的资 源 基于Gaia订制storm 基于Gaia的Nimbus HA One topology One storm Nimbus Supervisor的数 量不受限于物理机器 Gaia负责资源调度, Nimbus负责任务分配 (task) 扩容缩容逻辑由Nimbus的 rebanlance实现 Hippo 队列1 队列2 队列3 队列4 队列5 队列6 队列n TDE > > > > > Zookeeper 拉取一批数据 2.2 写TDE持久化 2 Confirm 队列  一个事务分两个阶段完成,batch和commit,batch并发执行,commit顺序执行。  Hippo队列由多个EmitBolt均衡读取,在没有confirm之前,队列的数据可重新读取。  TDE存储数据,在Value里面存储了事务ID,如果TDE里面的数据的事务ID大于或等于当前事务ID,则不做写操作。 事务 Topologies Ganglia 现网引流测试平台 易用性?  编程接口复杂,对开发人员技能要求高,现有模式难以对外开放;  随着承接业务的增多,维护投入越来越大;  业务需求变化(例如算法调优)频繁,响应速度慢;  各业务独立开发,共享度不高,不能充分利用历史智力资产。 CLI IDE(Editor,Compile,Debug,Run) Antlr JavaCC->AST Java API AST->Logical Plan->Physical Plan Physical Plan->Execute Engine Hadoop MapReduce Job Topology Job 用户界面 语法解析 语义解析 执行引擎 执行环境 DSL on Storm 开发语言:SQL or Pig-Latin? 比较项 SQL Like Pig-Latin Like 业务需求 外部存储访问 支持 支持 嵌套数据结构处理能力 弱 强 多维度组合交叉计算 不支持 支持 复杂业务支持能力 弱 强 UDF 不支持 支持 时间窗 不支持 支持 join 支持 支持 其他(Top,Sort等) 支持 支持 非业务需求 学习成本 低 中 实现复杂度 高 中 语言扩展能力 低 高 高级声明式语言层 可视化数据流建模工具 PigLatin语言识别器 SQL语言识别器 逻辑执行计划生成与优化 物理执行计划生成 自定义Java函数(UDF) 流式I/O库 并行度优化策略 SQL/NoSQL存储 Storm集群 消息系统 HDFS/Map-Reduce 可视化DataFlow建模 代码生成器 TRC Studio TRC Script TRC Platform 如何降低Storm开发的复杂度 可视化DSL语言 从TDBank输入点击流 可视化DSL语言 根据itemId进行过滤 可视化DSL语言 对数据进行预处理 可视化DSL语言 进行5分钟点击聚合计数 可视化DSL语言 计算结果输出到TDE  核心需求  高并发,低延迟  高可用性,数据安全  关注成本,关注资源利用率  线性扩展 TDEngine存储引擎 分布式集群管理 DataNode A 数据块 Bucket1 Bucket 2 DataNode C 数据块 Bucket 3 DataNode B 数据块 Bucket 4 DataNode D 数据块 数据迁移 数据迁移 扩容管理 心跳状态上报 数据复制 Keeper 状态管理 DataNode1 DataNode2 DataNodeN „ 路由管理 MS 1 AC 2 BA 3 CD 4 BD ... ... ... 1024 ... ... Client Client 下发路由 Write bucket1 Read bucket1 特色功能  支持多副本数据备份,确保数据安全  主备机同时提供服务,提升集群资源利用率  集群高可用,容灾切换过程中仍然提供读写服务  全内存设计,多引擎支持 每天支撑万亿数据访问请求 TRC在腾讯 每天, 万亿实时消息接入,万亿次实时计算,万亿次存储访问 覆盖, SNG、IEG、MIG、CDG 等各大BG 涵盖, 广告、视频、游戏、文学、新闻、微信等多个业务 涉及, 个性化精准推荐、实时分析统计、秒级监控告警 等多个领域 CTR流式处理 用户 基础属性 行为属性 兴趣标签 关系链 … 项目 广告位 广告 广告类目 所属行业 素材特征 … 上下文 地理位 置 时间 天气 节假日 … × × 千万级特征向量 千亿级向量空间 = 预测用户A最可能点击广告,如何准备好预测相关数据? • 对每个广告,实时计算“用户↔广告”多个不同维度组合 的相关度指标 反馈特征 点击 曝光 浏览 转发 点赞 … 滑动时间窗 1分钟 1小时 1天 7天 1个月 … 交叉维度的动态 反馈特征 = × ×  日均200亿请求对应的每1条曝光日志, 平均计算50多种交叉特征  仅广点通业务每天实时计算量超过万亿次  整个集群的计算量超过十万亿次 基于实时计算的点击预估模型架构 对微信的性能优化、 IDC部署、运营商选 择等有着十分重要 的作用 告警准确性大幅度提高;对监控对 象进行全纬度组合分析,实现了监 控的100%覆盖。 精准推荐 广点通广告 推荐 新闻推荐 视频推荐 游戏道具推 荐 实时分析 微信运营数 据门户 效果统计 订单画像分 析 实时监控 实时监控平 台 游戏内接口 调用 TRC的应用– 概览
还剩32页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享pdf获得金币 ] 1 人已下载

下载pdf

pdf贡献者

pngg

贡献于2015-07-04

下载需要 8 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf