摘要: 消费者拉取钱程拉取每个分区的数据,会将分区的消息集包装成一个数据块( FetchedDataChunk )放入分区信息的队列中 。 而每个队列都对应一个消息流( KafkaStream ),消费者客户端选代消息流,实际上是迭代每个数据块中消息集的每条消息 。 一个队列包含多个数据块,每个数据块对应一 阅读全文
posted @ 2018-10-23 10:43 青青子衿J 阅读(1097) 评论(0) 推荐(0) 编辑
摘要: 消费者连接器通过再平衡操作分配到的分区相当于t作任务,任务需要由工作线程完成。 生产者要写消息到服务端的分区,这是通过Sender工作线程完成的,消费者要读服务端分区的消息则通过拉取管理器的拉取线程完成。 拉取线程管理器 消费者的拉取管理器( ConsumerFetcherManager )管理了当 阅读全文
posted @ 2018-10-22 16:44 青青子衿J 阅读(1429) 评论(0) 推荐(0) 编辑
摘要: 消费者再平衡操作 消费者连接器的核心处理逻辑是再平衡操作,它起了承上启下的作用。初始化消费者连接器只是“创建了队列和消息流”,再平衡操作会“为消费者重新分配分区” 。 只有为消费者分配了分区,拉取线程才会开始拉取分区的消息 。因为分区要被重新分配,分区的所有者都会发生变化 ,所以在还没有重新分配分区 阅读全文
posted @ 2018-10-22 13:12 青青子衿J 阅读(533) 评论(0) 推荐(0) 编辑
摘要: 1. 使用消费组实现消息队列的两种模式 分布式的消息系统Kafka支持多个生产者和多个消费者,生产者可以将消息发布到集群中不同节点的不同分区上;消费者也可以消费集群中多个节点的多个分区上的消息 。 写消息时,多个生产者可以写到同一个分区 。 读消息时,如果多个消费者同时读取一个分区,为了保证将日志文 阅读全文
posted @ 2018-10-22 10:09 青青子衿J 阅读(614) 评论(0) 推荐(0) 编辑
摘要: 消费者启动和初始化 消费者的配置信息要指定连接的ZK集群以及消费组编号 。 消费者客户端会通过消费者连接器( ConsumerConnector)连接ZK集群,获取分配的分区, 创建每个主题对应的消息流( KafkaStream ),最后迭代消息流,读取每条消息,并完成具体的业务处理逻辑。 消费者客 阅读全文
posted @ 2018-10-19 18:20 青青子衿J 阅读(1508) 评论(0) 推荐(0) 编辑
摘要: KafkaServer是Kafka服务端的主类, KafkaServer中和网络层有关的服务组件包括 SocketServer、KafkaApis 和 KafkaRequestHandlerPool后两者都使用了 SocketServer暴露出来的请求通道( RequestChannel )来处理网 阅读全文
posted @ 2018-10-18 16:38 青青子衿J 阅读(667) 评论(0) 推荐(0) 编辑
摘要: 消息系统通常由生产者(producer )、 消费者( consumer )和消息代理( broker ) 三大部分组成,生产者会将消息写入消息代理,消费者会从消息代理中读取消息 。 对于消息代理而言,生产者和消费者都属于客户端:生产者和消费者会发送客户端请求给服务端,服务端的处理分别是存储消息和获 阅读全文
posted @ 2018-10-18 14:41 青青子衿J 阅读(1058) 评论(0) 推荐(0) 编辑
摘要: 在 0.10 版本之前, Kafka仅仅作为一个消息系统,主要用来解决应用解耦、 异步消息 、 流量削峰等问题。 在0.10版本之后, Kafka提供了连接器与流处理的能力, 它也从分布式的消息系统逐渐成为一个流式的数据平台 。 Kafka 流式数据平台 作为一个流式数据平台,最重要的是要具备下面3 阅读全文
posted @ 2018-10-17 16:00 青青子衿J 阅读(1973) 评论(0) 推荐(0) 编辑
摘要: 集中讨论以下3 个有意思的话题 :• Kafka 如何进行复制;• Kafka 如何处理来自生产者和消费者的请求 ;• Kafka 的存储细节,比如文件格式和索引。 集群成员关系 Kafka 使用 Zoo keeper 来维护集群成员的信息。每个 broker 都有一个唯一标识符,这个标识符可以在配 阅读全文
posted @ 2018-09-29 14:35 青青子衿J 阅读(592) 评论(0) 推荐(1) 编辑
摘要: KafkaConsumer概念 消费者和消费者群组 Kafka 消费者从属于消费者群组。一个群组里的消费者订阅的是同一个主题,每个消费者接收主题一部分分区的消息。 往群组里增加消费者是横向伸缩消费能力的主要方式。 我们有必要为主题创建大量的分区,在负载增长时可以加入更多的消费者。不要让消费者的数量超 阅读全文
posted @ 2018-09-27 20:47 青青子衿J 阅读(654) 评论(0) 推荐(0) 编辑