淘宝实时数据传输平台: TimeTunnel介绍

标签: 淘宝 实时 数据 | 发表时间:2014-05-19 17:23 | 作者:zbf8441372
出处:http://blog.csdn.net

作者在工作中遇到了类似流式数据实时接入的业务场景,所以对淘宝的实时数据仓库这一块做了一些调研和了解。本文从业务场景和设计上介绍了淘宝的TimeTunnel工具,文中的图片来自淘宝数据仓库团队交流过程中的sildes,也参考了一些相关文档。


业务背景

TimeTunnel(简称 TT)是一个基于thrift通讯框架搭建的实时数据传输平台,具有高性能、实时性、顺序性、高可靠性、高可用性、可扩展性等特点(基于Hbase)。

目前TimeTunnel在阿里巴巴广泛的应用于日志收集、数据监控、广告反馈、量子统计、数据库同步等领域。


开源在: TaoCode,代码是开源的。

 

业务保障:

保证为所有的报表按时准备好所需数据,延迟不超过一分钟;

保证为所有的实时应用提供实时数据,延迟不超过一秒钟。

 

在整个数据仓库中的角色(图中”TT”字样):


在全量/批量数据导入部分使用的是DHW和DataX,其中DataX貌似是开源的,也是一个不落地的异构数据源传输工具。

而在增量,或者说是流式场景下,这部分数据的采集和导入就依赖了TimeTunnel。


TT对接的Storm和Galaxy流计算模块也简单提一下:

galaxy是一套支持SQL定义业务逻辑的流计算服务化平台

galaxy之于storm,就类似hive之于hadoop的关系

下图为Galaxy的一个架构图:



组件


Time Tunnel大概有几部分组成,TTmanager,Client,Router,Zookeeper,Broker。

 

TTManager: 负责对外提供队列申请、删除、查询和集群的管理接⼝口;对内故障发现,发起队列迁移

 

Client是一组访问timetunnel的api,主要有三部分组成:安全认证api,发布api,订阅api。目前client支持java,python,php三种语言。

 

Router:为客户端提供路由信息,找到为消息队列提供服务的Broker。Router是访问timetunnel的门户,主要负责路由、安全认证和负载均衡。Client访问timetunnel的第一步是向Router进行安全认证,如果认证通过,Router根据Client要发布或者订阅的topic对Client进行路由,使Client和正确的Broker建立连接,路由的过程包含负载均衡策略,Router保证让所有的Broker平均地接收Client访问。

 

Zookeeper是hadoop的开源项目,其主要功能是状态同步,Broker和Client的状态都存储在这里。

 

Broker是timetunnel的核心,负责消息的存储转发,承担实际的流量,进行消息队列的读写操作。



其他

对接数据

  • 数据库的日志(如mysql、oracle等)
  • 服务器产生的日志(如apache)
  • app通过接口产生的数据


队列资源

  • 队列是一种资源,TimeTunnel提供队列。
  • 队列按需申请,订阅队列接口

持续服务

  • 故障发现,发起迁移
  • Broker之间流量均衡
  • 上下线机器平稳扩容

WhyHBase?

  • 顺序scan速度快
  • 很好的扩展性
  • 强一致性
  • 高并发写
  • 底层数据存储基于HDFS
  • 开源,社区活跃
  • 国内顶级的运维和开发团队

HBase表设计

  • 一个Queue对应一个region
  • 一组Queue(256/512)对应一个表
  • Rowkey:queueID + timestamp + seq +brokerID
  • 数据列族+属性列族
  • 按天分表,方便删除历史数据
  • Pre-Sharding降低compact和split的发生


全文完 :)


作者:zbf8441372 发表于2014-5-19 17:23:04 原文链接
阅读:106 评论:0 查看评论

相关 [淘宝 实时 数据] 推荐:

淘宝实时数据传输平台: TimeTunnel介绍

- - CSDN博客架构设计推荐文章
作者在工作中遇到了类似流式数据实时接入的业务场景,所以对淘宝的实时数据仓库这一块做了一些调研和了解. 本文从业务场景和设计上介绍了淘宝的TimeTunnel工具,文中的图片来自淘宝数据仓库团队交流过程中的sildes,也参考了一些相关文档. TimeTunnel(简称 TT)是一个基于thrift通讯框架搭建的实时数据传输平台,具有高性能、实时性、顺序性、高可靠性、高可用性、可扩展性等特点(基于Hbase).

淘宝数据魔方技术架构解析

- 狗尾草 - 淘宝数据平台与产品部官方博客 tbdata.org
(本文首发于《程序员》8月刊,略有调整. 你可通过pengchun#taobao.com联系到作者. 淘宝网拥有国内最具商业价值的海量数据. 截至当前,每天有超过30亿的店铺、商品浏览记录,10亿在线商品数,上千万的成交、收藏和评价数据. 如何从这些数据中挖掘出真正的商业价值,进而帮助淘宝、商家进行企业的数据化运营,帮助消费者进行理性的购物决策,是淘宝数据平台与产品部的使命.

报告:淘宝无线电子商务数据报告

- Chris - 互联网的那点事...
移动电子商务成为目前最热门的话题之一,但与此相关的统计数据并不多见,尤其是来自大型移动电商的报告更是凤毛麟角. 今天淘宝发布了无线电子商务报告,从开发者、移动卖家和移动用户三个方面对国内移动电子商务进行了深入统计和分析. 在品牌手机用户PV访问量方面,诺基亚以61.5%高居榜首,iPhone以19.3%名列第二,在智能手机中名列第一.

淘宝数据魔方技术架构解析

- So - 博客园新闻频道
淘宝网拥有国内最具商业价值的海量数据. 截至当前,每天有超过30亿的店铺、商品浏览记录,10亿在线商品数,上千万的成交、收藏和评价数据. 如何从这些数据中挖掘出真正的商业价值,进而帮助淘宝、商家进行企业的数据化运营,帮助消费者进行理性的购物决策,是淘宝数据平台与产品部的使命. 为此,我们进行了一系列数据产品的研发,比如为大家所熟知的量子统计、数据魔方和淘宝指数等.

正祥的淘宝海量数据库思考分享

- alex zhao - 淘宝核心系统团队博客
正祥(阳振坤老师)最近在个人新浪博客上发表了一系列针对淘宝分布式数据服务系统思考性文章,特此分享. 淘宝海量数据库之一:来自业务的挑战. 淘宝海量数据库之二:一致性选择. 淘宝海量数据库之三:事务的ACID. 淘宝海量数据库之四:系统架构与跨表事务. 淘宝海量数据库之五:数据结构.

淘宝自主研发的海量数据库OceanBase开源

- beralee - cnBeta.COM
OceanBase是一个支持海量数据的高性能分布式数据库系统,实现了数千亿条记录、数百TB数据上的跨行跨表事务,由淘宝核心系统研发部、运维、DBA、广告、应用研发等部门共同完成. 在设计和实现OceanBase的时候暂时摒弃了不紧急的DBMS的功能,例如临时表,视图(view),研发团队把有限的资源集中到关键点上,当前 OceanBase主要解决数据更新一致性、高性能的跨表读事务、范围查询、join、数据全量及增量dump、批量数据导入.

淘宝海量数据库之六-克服随机IO难题

- William - 阳振坤的博客
与传统磁盘相比,SSD固态盘提供了非常好的随机读性能,单盘可达35000IOPS (4KB)甚至更高,并提供512MB/s或以上的读出带宽. 但通常SSD盘的随机写性能甚至比一般磁盘更差,这是因为,尽管SSD的读和写都以4KB页(page)为单位,但SSD写入前需要先擦除已有内容,而擦除以块(block)为单位,一个块(block)通常是128个连续的页(page),即512KB.

淘宝海量数据产品的技术架构 - Mainz

- - 博客园_Mainz's Blog
淘宝海量数据产品的技术架构是什么,又是如何应对双十一的海量访问的. 按照数据的流向来划分,我们把淘宝数据产品的技术架构分为五层(如图1所示),分别是数据源、计算层、存储层、查询层和产品层. 位于架构顶端的是我们的数据来源层,这里有淘宝主站的用户、店铺、商品和交易等数据库,还有用户的浏览、搜索等行为日志等.

淘宝数据产品技术架构分析

- - 互联网分析沙龙
淘宝网拥有国内最具商业价值的海量数据. 截至当前,每天有超过30亿的店铺、商品浏览记录,10亿在线商品数,上千万的成交、收藏和评价数据. 如何从这些数据中挖掘出真正的商业价值,进而帮助淘宝、商家进行企业的数据化运营,帮助消费者进行理性的购物决策,是淘宝数据平台与产品部的使命. 为此,我们进行了一系列数据产品的研发,比如为大家所熟知的量子统计、数据魔方和淘宝指数等.