数据文件的分段
Kafka解决查询效率的手段之一是将数据文件分段,比如有100条Message,它们的offset是从0到99。假设将数据文件分成5段,第一段为0-19,第二段为20-39,以此类推,每段放在一个单独的数据文件里面,数据文件以该段中最小的offset命名。这样在查找指定offset的Message的时候,用二分查找就可以定位到该Message在哪个段中。
为数据文件建索引
...
分类:
其他好文 时间:
2015-05-06 15:09:04
阅读次数:
119
1.背景最近因为工作需要,调研了追求高吞吐的轻量级消息系统Kafka,打算替换掉线上运行的ActiveMQ,主要是因为明年的预算日流量有十亿,而ActiveMQ的分布式实现的很奇怪,所以希望找一个适合分布式的消息系统。以下是内容是调研过程中总结的一些知识和经验,欢迎拍砖。2.基础知识2.1.什么是消...
分类:
其他好文 时间:
2015-05-06 14:46:25
阅读次数:
175
bin/zkServer.sh start /home/guym/down/kafka_2.8.0-0.8.0/config/zookeeper.properties&bin/kafka-server-start.sh config/server.propertiesbin/kafka-create...
分类:
Web程序 时间:
2015-05-06 14:34:37
阅读次数:
236
既然包名是api,说明里面肯定都是一些常用的Kafka API了。一、ApiUtils.scala顾名思义,就是一些常见的api辅助类,定义的方法包括:1. readShortString: 从一个ByteBuffer中读取字符串长度和字符串。这个ByteBuffer的格式应该是:2个字节的字符串长...
在基于Hadoop平台的很多应用场景中,我们需要对数据进行离线和实时分析,离线分析可以很容易地借助于Hive来实现统计分析,但是对于实时的需求Hive就不合适了。实时应用场景可以使用Storm,它是一个实时处理系统,它为实时处理类应用提供了一个计算模型,可以很容易地进行编程处理。为了统一离线和实时计...
分类:
其他好文 时间:
2015-05-06 12:37:56
阅读次数:
181
Spark1.3中新增DirectStream处理Kafka的消息。使用方法如下:KafkaUtils.createDirectStream[String, String, StringDecoder, StringDecoder](ssc, kafkaParams, topicsSet)ssc:S...
分类:
其他好文 时间:
2015-05-05 18:20:40
阅读次数:
200
介绍Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。这个独特的设计是什么样的呢?首先让我们看几个基本的消息系统术语:Kafka将消息以topic为单位进行归纳。将向Kafka topic发布消息的程序成为producers.将预订topics并...
分类:
其他好文 时间:
2015-05-05 16:18:58
阅读次数:
158
Kafka 分布式消息队列 类似产品有JBoss、MQ一、由Linkedln 开源,使用scala开发,有如下几个特点:(1)高吞吐(2)分布式(3)支持多语言客户端 (C++、Java)二、组成:客户端是 producer 和 consumer,提供一些API,服务器端是Broker,客户端提供可...
分类:
其他好文 时间:
2015-05-04 23:45:03
阅读次数:
194
Flume-ngFlume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。 Flume的文档可以看http://flume.apache.org/FlumeUserGuide.html官方的英文文档 介绍的比较全面。 不过这里写写自己的见解这个是flume的架构图从上图可以看到几个名词...
分类:
Web程序 时间:
2015-05-02 01:01:18
阅读次数:
348
kafka采用了一些非主流(unconventional)并经过实践的设计使其高效和可扩展。在实际使用中kafka显示出了相对于常见流行的消息系统的优越性。并且每天能够处理上百GB的新的数据。类似收集实时数据来获得查询、推荐、广告方感兴趣的内容时,需要计算大量细粒度的点击率,还包括那些没有点击的页面...
分类:
其他好文 时间:
2015-05-01 23:52:47
阅读次数:
150