zfb050 | 发布于 2017-05-16 17:22:54 | 阅读量 40 | kafka NIO
发布于 2017-05-16 17:22:54 | kafka NIO
>kafka的socket server是基于java NIO,使用`Reactor`模式开发的。socketserver主要用于处理kafka server对外提交网络请求的操作,用于检查连接数,把请求添加到请求的队列中,对KafkaApis提供操作支持. 其线程模型为: - 一个Acceptor线程接受/处理所有的新连接 - N个Processor线程,每个Processor都有自己
继续阅读
zfb050 | 发布于 2017-05-16 17:22:54 | 阅读量 59 | kafka server
发布于 2017-05-16 17:22:54 | kafka server
本文主要对kafka Server端Log的构造、offset的管理以及消息写入到LOG中的过程进行描述
继续阅读
zfb050 | 发布于 2017-05-16 17:22:54 | 阅读量 169 | kafka ISR server
发布于 2017-05-16 17:22:54 | kafka ISR server
[TOC] # 疑问 - leader是在何时更新Highwater的? - kafka-manager上出现Lag为负值是什么原因造成的? - Log中的消息被删除时,ISR之间是如何协调的? > 下面所有的讨论都是基于一个包含3个broker的kafka集群而言的 # Replica ## leader vs followers 如果将所有的topic的`replicas`设置为2(
继续阅读
zfb050 | 发布于 2017-05-16 17:22:54 | 阅读量 147 | kafka server
发布于 2017-05-16 17:22:54 | kafka server
Controller工作原理
对kafka Controller的工作原理进行梳理,着重对leader选举、partition状态机以及一些重要的ZK listener进行分析。
继续阅读
zfb050 | 发布于 2017-05-16 17:22:58 | 阅读量 94 | kafka client NIO
发布于 2017-05-16 17:22:58 | kafka client NIO
> 从Kafka 0.8.2开始,发布了一套新的Java版的client api,KafkaProducer/KafkaConsumer,替代之前的scala版的api。 ## REF [Kafka: Producer (0.10.0.0)](http://www.infocool.net/kb/OtherCloud/201611/212499.html) [Kafka源码分析 Produ
继续阅读
zfb050 | 发布于 2017-05-16 17:22:58 | 阅读量 51 | kafka client
发布于 2017-05-16 17:22:58 | kafka client
探究`org.apache.kafka.clients`中Metadata的数据结构、更新及获取原理 [ref](http://www.infocool.net/kb/Other/201609/193278.html) **Metadata**是为producer及consumer服务的,在producer和consumer创建的时候都会创metadata: ``` this.metada
继续阅读
zfb050 | 发布于 2017-05-16 17:22:58 | 阅读量 304 | kafka client
发布于 2017-05-16 17:22:58 | kafka client
# REF * [KafkaConsumer API doc](https://kafka.apache.org/0100/javadoc/org/apache/kafka/clients/consumer/KafkaConsumer.html) * [Kafka 之 Group 状态变化分析及 Rebalance 过程](https://wangzzu.github.io/2017/01/16
继续阅读
zfb050 | 发布于 2017-05-16 17:22:58 | 阅读量 57 | kafka client
发布于 2017-05-16 17:22:58 | kafka client
为了方便用户感知发送的情况,kafka producer中提供了`callback`机制,springkafka中实现了`ProducerListener` ### 遇到的问题 近期生产环境上由于版本BUG问题导致一段时间内某台broker出现假死的异常状态,在这异常期间内发送到该broker上的消息都失败了。在各个系统中我们实现了一个ProducerListener用于将发送失败的消息写入
继续阅读
zfb050 | 发布于 2017-05-16 17:22:58 | 阅读量 56 | kafka client
发布于 2017-05-16 17:22:58 | kafka client
> [早期整理的spring kafka Listener的实现](http://note.youdao.com/noteshare?id=7c6966ee22cebfb83c8f332ec1bc7714) [TOC] #**两个与分区分配有关的回调函数** springKafka在创建了Consumer后会订阅topic,这时会传入一个`RebalenceListener`,这个list
继续阅读