淘宝实时数据传输平台: 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).

window.name实现的跨域数据传输

- - Web前端 - ITeye博客
a.com/app.html:应用页面. a.com/proxy.html:代理文件,一般是一个没有任何内容的html文件,需要和应用页面在同一域下. b.com/data.html:应用页面需要获取数据的页面,可称为数据页面. 在应用页面(a.com/app.html)中创建一个iframe,把其src指向数据页面(b.com/data.html).

手机数据传输安全分析

- - FreeBuf.COM | 关注黑客与极客
如今手机已经成了我们离不开的伙伴和知己,它了解我们的日常生活. 然而每一天在路上的时候,它都会收集我们的私密信息. 平时我们会用它拍照,在社交网络中分享我们的心情;我们也用它发送邮件、短信以及拨打电话. 所以,这些信息则让我们的智能手机成为黑客眼热的宝库. 最重要的是,我们中大多数人相信手机中的数据是绝对安全的.

电力线技术——未来的数据传输方式

- Roger - 张志强的网络日志
博客 » IT技术 » 网络 ». 今天买了一对电力线适配器,型号TP-LINK TL-PA201. 电力线适配器是一种通过电线传播网络信号的设备. 通常,用一个电力线适配器连接网络(或网络路由器的一个端口),并插在电源插头上. 然后可以用其余的电力适配器,在家里的任何地方,插上电源插头,即可连接上网络.

Sqoop实现关系型数据库到hive的数据传输

- - CSDN博客互联网推荐文章
Sqoop实现关系型数据库到hive的数据传输. 作者:zyuc_wangxw 发表于2013-8-9 17:21:20 原文链接. 阅读:118 评论:0 查看评论.

谷奥: 来自五六折的淘宝折扣实时查询 Chrome 扩展

- jicknan - 谷奥聚合——谷奥主站+谷安 aggregator
前几天我们报道了五七折的淘宝购物 Chrome 扩展,很多用户在留言中说五七折是抄袭五六折的网站,至于事情真相我完全没有概念,不过今天五六折也出 Chrome 扩展了,大家可以自由选择了. PS:有知情人士透露说,五七折的网站是抄袭五六折的,而五六折这个 Chrome 扩展又是抄袭五七折的,真是混乱啊.

魅族MX基于soft AP的无线数据传输系统专利曝光

- bill - cnBeta.COM
继在昨天的MX呼吸灯专利曝光之后,今天又有煤油在专利局网站发现了魅族新的专利技术. 此专利全称为: 基于soft AP技术的无线数据传输系统及其方法.

Android Beam 告诉我们未来近距离数据传输新方式(视频)

- 云飞风起 - Engadget 中国版
你是否还记得惠普展示 TouchPad 和 Pre 3 的触控式数据交换么. 你初次看到的时候一定觉得很酷,不过现在想同时拥有 TouchPad 和 Pre 3 是一件很困难的事情. 现在 Android Beam 给了我们新答案,这个方式通过两台 Ice Cream Sandwich 系统手机设备的 NFC 技术进行.

基于 Android NDK 的学习之旅-----数据传输一(基本数据类型和数组传输)(附源码)

- UnderSn0w - 博客园-首页原创精华区
基于 Android NDK 的学习之旅-----数据传输(基本数据类型和数组传输).        之前的一些文章都有涉及到上层和中间层的数据传输,简单来说,也就是参数和返回值的使用. 因为中间层要做的最多的也就是数据传输与转换,下面来介绍下这方面的知识.        数据传输可分为 基本数据类型传输 和 引用数据类型的传输 , 因为数组传输也比较特别(其实数组也是引用类型),所以这里也专门分出来讲讲.

不止是室内定位:LED灯还能变成局域网,进行每秒3Gb的数据传输

- - PingWest
我们之前介绍了利用可见光通讯技术, 通过LED灯光实现精准室内定位的例子. 实际上,这种灯泡和技术的用途不止于此,比如,它还能进行无线网络传输. 最近,德国 Fraunhofer Henrich Hertz Institute(以下简称HHI) 宣布在实验室环境中,使用普通的 LED灯泡,成功实现了3Gbps的数据传输速度,在现实生活场景(比如展会中),这个系统也能够达到500Mbps的速度.