作者在工作中遇到了类似流式数据实时接入的业务场景,所以对淘宝的实时数据仓库这一块做了一些调研和了解。本文从业务场景和设计上介绍了淘宝的TimeTunnel工具,文中的图片来自淘宝数据仓库团队交流过程中的sildes,也参考了一些相关文档。
业务背景
TimeTunnel(简称TT)是一个基于thrift通讯框架搭建的实时数据传输平台,具有高性能、实时性、顺序性、高可靠性、高可用性、可扩展性等特点(基于Hbase)。
目前TimeTunnel在阿里巴巴广泛的应用于日志收集、数据监控、广告反馈、量子统计、数据...
分类:
其他好文 时间:
2014-05-22 10:58:59
阅读次数:
334
我们的常用的系统中,程序的工作通常是有事件驱动和消息驱动两种方式,在Android系统中,Java应用程序是靠消息驱动来工作的。
消息驱动的原理就是:
1. 有一个消息队列,可以往这个队列中投递消息;
2. 有一个消息循环,不断从消息队列中取出消息,然后进行处理。
在Android中通过Looper来封装消息循环,同时在其中封装了一个消息队列MessageQueue。
另外Andro...
分类:
移动开发 时间:
2014-05-22 08:20:57
阅读次数:
253
1. Unix IPC(InterProcess
Communication)同一主机的各个进程间的IPC:管道、FIFO、消息队列、信号量、共享存储器不同主机上的各个进程间IPC:socket套接字2.
管道管道进行IPC有两个局限:(1) 半双工,即数据只能在一个方向上流动(2) 只能在具有公共...
分类:
其他好文 时间:
2014-05-21 23:03:50
阅读次数:
394
传统的消息模型有两种模型,队列模型和发布-订阅模式。
1. 队列形式中,一群消费者可能从server那边读消息,而每条消息会流向他们中的一个。
2. 发布-订阅模式中,消息会广播到所有它的消费者们那。
Kafka是使用consumer group这个概念(下面把它翻译为"消费组"),把两者结合了。。
消费者给自己标志了一个消费组名,每条新发布到topic的消息会被传递给订阅它的消费组里的消费者实例,这些消费者实例可以是不同的进程,存在在不同的机器上。
如果所有的消费者在同一个消费组里,那么这相当于是...
分类:
其他好文 时间:
2014-05-21 16:12:44
阅读次数:
279
POSIX消息队列相关函数:
mq_open函数
功能:用来创建和访问一个消息队列
原型
mqd_t mq_open(const char *name, int oflag);
mqd_t mq_open(const char *name, int oflag, mode_t mode, struct mq_attr *attr);
参数
name: 某个消息队列...
分类:
其他好文 时间:
2014-05-21 06:35:08
阅读次数:
316
消息队列:
消息队列提供了一个从一个进程向另外一个进程发送一块数据的方法
每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型值
消息队列也有管道一样的不足,就是每个消息的最大长度是有上限的(MSGMAX),每个消息队列的总的字节数是有上限的(MSGMNB),系统上消息队列的总数也有一个上限(MSGMNI)...
分类:
其他好文 时间:
2014-05-20 15:02:25
阅读次数:
284
如图所示首先来看本地通讯的情况,应用程序A和应用程序B运行于同一系统A,它们之间可以借助消息队列技术进行彼此的通讯:应用程序A向队列1发送一条信息,而当应用程序B需要时就可以得到该信息。其次是远程通讯的情况,如果信息传输的目标改为在系统B上的应用程序C,这种变化不会对应用程序A产生影响,应用程序A向...
分类:
其他好文 时间:
2014-05-19 07:05:41
阅读次数:
1342
一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式。利用redis这两种场景的消息队列都能够实现。定义:生产者消费者模式:生产者生产消息放到队列里,多个消费者同时监听队列,谁先抢到消息谁就会从队列中取走消息;即对于每个消息只能被最多一个消费者拥有。发布者订阅者模式:发布者生...
分类:
其他好文 时间:
2014-05-19 06:59:46
阅读次数:
446
平台:VS2010版本:1.04我们先看看消息队列的数据结构:typedefstructRAW_QUEUE
{
RAW_COMMON_BLOCK_OBJECTcommon_block_obj;
RAW_MSG_Qmsg_q;
RAW_VOID(*queue_send_notify)(structRAW_QUEUE*queue_ptr);
}RAW_QUEUE;RAW_MSG_Q:typedefstructRAW_MSG_Q{
RAW_VOID**queue_sta..
分类:
其他好文 时间:
2014-05-15 08:35:51
阅读次数:
318