上一页 1 ··· 6 7 8 9 10 11 12 下一页
摘要: admin包定义了命令行的一些实现一、AdminOperationException.scala一个异常类,表示执行admin命令时候抛出的异常二、AdminUtils.scalaadmin一些常用工具方法:1. assignReplicasToBrokers:负责分配副本到不同的broker上。主... 阅读全文
posted @ 2015-06-11 15:31 huxihx 阅读(2228) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 Paxos算法被用来实现一个容错的分布式系统,一直以来以晦涩难懂著称。这可能是因为该算法最开始使用希腊文表述的。事实上,它是所有分布式算法中最简单易懂的。Paxos算法的本质其实就是一个共识算法(我不太同意国内把consensusalgorithm翻译成一致性算法,因为一致性的标准英文应... 阅读全文
posted @ 2015-06-11 13:49 huxihx 阅读(2197) 评论(1) 推荐(0) 编辑
摘要: 该包下只有一个文件:ClientUtils.scala。它是一个object,里面封装了各种client(包括producer,consumer或admin)可能会用到的方法:1. fetchTopicMetadata(producer版本): producer client会调用该方法来发送一个T... 阅读全文
posted @ 2015-06-09 14:24 huxihx 阅读(1190) 评论(0) 推荐(0) 编辑
摘要: 顾名思义,就是kafka的consumer api包。一、ConsumerConfig.scalaKafka consumer的配置类,除了一些默认值常量及验证参数的方法之外,就是consumer的配置参数了,比如group.id, consumer.id等,详细列表见官网。二、ConsumerIt... 阅读全文
posted @ 2015-06-09 13:59 huxihx 阅读(3570) 评论(2) 推荐(0) 编辑
摘要: 十四、AbstractFetcherManager.scala该scala定义了两个case类和一个抽象类。两个case类很简单:1. BrokerAndFectherId:封装了一个broker和一个fetcher的数据结构2. BrokerAndInitialOffset:封装了broker和初... 阅读全文
posted @ 2015-06-02 09:59 huxihx 阅读(1798) 评论(0) 推荐(0) 编辑
摘要: 这个是Kafka server的核心包,里面的类也很多,我们还是一个一个分析一、BrokerStates.scala定义了目前一个kafka broker的7中状态 ——1. NotRunning:未运行2. Starting:启动中3. RecoveringFromUncleanShutdown:... 阅读全文
posted @ 2015-05-28 08:47 huxihx 阅读(1651) 评论(2) 推荐(1) 编辑
摘要: 四、TopicDeletionManager.scala管理topic删除的状态机,具体逻辑如下:TopicCommand发送topic删除命令,在zk的/admin/delete_topics目录下创建topic节点controller会监听该zk目录下任何节点的变更并为对应的topic开启删除操... 阅读全文
posted @ 2015-05-22 11:34 huxihx 阅读(877) 评论(0) 推荐(0) 编辑
摘要: Kafka集群中的一个broker会被作为controller负责管理分区和副本的状态以及执行类似于重分配分区之类的管理任务。如果当前的controller失败了,会从剩下的broker中选出新的controller。一、PartitionLeaderSelector.scala顾名思义就是为分区选... 阅读全文
posted @ 2015-05-13 17:25 huxihx 阅读(1161) 评论(2) 推荐(1) 编辑
摘要: Kafka 0.8.2引入了一个用Java写的producer。下一个版本还会引入一个对等的Java版本的consumer。新的API旨在取代老的使用Scala编写的客户端API,但为了兼容性的考虑两版API还要同时存在一段时间。另外,新版的API可以打成独立的jar包,而Scala版本的不行。 ... 阅读全文
posted @ 2015-05-07 17:44 huxihx 阅读(2028) 评论(0) 推荐(0) 编辑
摘要: 既然包名是api,说明里面肯定都是一些常用的Kafka API了。一、ApiUtils.scala顾名思义,就是一些常见的api辅助类,定义的方法包括:1. readShortString: 从一个ByteBuffer中读取字符串长度和字符串。这个ByteBuffer的格式应该是:2个字节的字符串长... 阅读全文
posted @ 2015-05-06 11:47 huxihx 阅读(1001) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 下一页