为了防止Log文件过大,将Log切分成多个日志文件,每个日志文件对应一个LogSegment。在LogSegment中封装一个FileMessa...
为了提升查找消息的性能,从Kafka0.8开始,为每个日志文件添加了对应的索引文件。OffsetIndex对象对应磁盘管理上的一个索引文件,与上...
ByteBufferMessageSet分析 介绍完生产者和消费者对压缩消息的处理过程,我们回到服务端,开始对ByteBufferMessage...
MessageSet的另一个子类是ByteBufferMessageSet,FileMessageSet.append()方法的参数就是这个类的...
基本概念 Kafka使用日志文件的方式保存生产者发送的消息。每条消息都有一个offset值来表示它在分区的偏移量,这个offset值是逻辑值,并...
由Kafka网络层我们知道,Handler线程会取出Processor线程放入RequestChannel的请求进行处理,并将产生的响应通过Re...
RequestChannel Processor线程与Handler线程之间传递数据是通过RequestChannel完成的。在RequestC...
AbstractServerThread Acceptor和Processor都继承了AbstractServerThread,Abstract...
1.如何不用锁保证“线程封闭”,即一个线程单独占用一个对象? KafkaConsumer<K, V>用的就是“线程封闭”,实现方法是使用原子类型...
文集作者