标签:
在围绕log的实际处理上.有很多层的封装和调用.这里主要介绍一下调用结构和顺序.
首先从LogManager开始.
调用关系简单如下:LogManager->Log->LogSegment->FileMessageSet->ByteBufferMessageSet->MessageSet->Message
LogManager作为kafka一个子系统在管理log的工作上必不可少.LogManager通过Log类来为每一个topic分区建立一个管理topic分区的集合.然后所有的全局上的动作都在这个对象集上处理.比如log的保留,刷新,定时更新恢复检查点文件工作.
Log作为LogSegment一个集合对象.管理每个topic分区下的所有分片对象.
LogSegment对FileMessageSet做了代理.
FileMessage为每个分片文件实现了内存对象和文件对象.
ByteBufferMessageSet用来创建log的内存对象.
MessageSet用来定义Message格式和接口的
Message用来定义消息一般属性和方法.
其他子系统中关于log部分会后续继续补充
标签:
原文地址:http://www.cnblogs.com/cloud-zhao/p/5748798.html