对于kafka的consumer接口,提供两种版本, high-level 一种high-level版本,比较简单不用关心offset, 会自动的读zookeeper中该Consumer group的last offset 参考,https://cwiki.apache.org/confluence...
分类:
其他好文 时间:
2014-06-28 22:39:15
阅读次数:
1224
参考, https://cwiki.apache.org/confluence/display/KAFKA/System+Tools https://cwiki.apache.org/confluence/display/KAFKA/Replication+tools http://kafka.ap...
分类:
其他好文 时间:
2014-06-28 22:01:55
阅读次数:
637
在kafka中,每一个broker都是一个服务器。按照一般理解,服务器就是一个SocketServer,其不断接收用户的请求并进行处理。在Java中进行网络连接有两种方式一种为阻塞模式一种为非阻塞模式。Jafka采用非阻塞模式进行网络通讯。在Java的非阻塞模式中,建立socket server的一般流程如下:
1.启动ServerSocketChannel并将其绑定到特定的端口。
2.将Se...
分类:
其他好文 时间:
2014-06-28 09:25:54
阅读次数:
235
Jafka Acceptor接收到客户端请求并建立连接后,Acceptor会将Socket连接交给Processor进行处理。Processor通过以下的处理步骤进行客户端请求的处理:
1. 读取客户端请求。
2. 根据客户端请求类型的不同,调用相应的处理函数进行处理。
Processor读取客户端请求是一个比较有意思的事情,需要考虑两个方面的事情:第一,请求规则(Processor需要按照...
分类:
其他好文 时间:
2014-06-28 09:25:18
阅读次数:
278
在Kafka中,LogManager负责管理broker上所有的Log(每一个topic-partition为一个Log)。通过阅读源代码可知其具体完成的功能如下:
1. 按照预设规则对消息队列进行清理。
2. 按照预设规则对消息队列进行持久化(flush操作)。
3. 连接ZooKeeper进行broker、topic、partition相关的ZooKeeper操作。
4. 管理brok...
分类:
其他好文 时间:
2014-06-28 08:25:21
阅读次数:
208
Kafka是一个分布式的消息中间件,可以粗略的将其划分为三部分:Producer、Broker和Consumer。其中,Producer负责产生消息并负责将消息发送给Kafka;Broker可以简单的理解为Kafka集群中的每一台机器,其负责完成消息队列的主要功能(接收消息、消息的持久化存储、为Consumer提供消息、消息清理.....);Consumer从Broker获取消息并进行后续的操作。...
分类:
其他好文 时间:
2014-06-27 23:55:13
阅读次数:
387
Kafka[1]是linkedin用于日志处理的分布式消息队列,linkedin的日志数据容量大,但对可靠性要求不高,其日志数据主要包括用户行为(登录、浏览、点击、分享、喜欢)以及系统运行日志(CPU、内存、磁盘、网络、系统及进程状态)。当前很多的消息队列服务提供可靠交付保证,并默认是即时消费(不适...
分类:
其他好文 时间:
2014-06-21 06:22:00
阅读次数:
273
Apache已经发布了Kafka 0.8,也是自从成为Apache软件基金会的顶级项目后Kafka的 第一个主版本。 Apache Kafka是发布—订阅消息传递,实现了分布式提交日志,适用于离线和在线消息消费。它最初由LinkedIn开发的消息系统,用于低延迟的收集和发送大 量的事件和日志数据。最...
分类:
其他好文 时间:
2014-06-21 06:21:23
阅读次数:
253
刚接触一些Apache Kafka的内容,用了两天时间研究了一下,仅以此文做相关记录,以供学习交流。概念:kafka依赖的项:1.硬件上,kafka利用线性存储来进行硬盘直接读写。2.kafka没有使用内存作为缓存。3.用zero-copy。4.Gzip和Snappy压缩,5.kafka对事务处理比...
分类:
其他好文 时间:
2014-06-20 18:18:45
阅读次数:
329
1. 背景介绍许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征:(1) 构建应用系统和分析系统的桥梁,并将它们之间的关联解耦;(2) 支持近实时的在线分析系统和类似于Hadoop之类的离线分析系统;(...
分类:
其他好文 时间:
2014-06-20 16:18:14
阅读次数:
294