muduo源码剖析之AsyncLogging异步日志类
简介 AsyncLogging是muduo的日志,程序如果直接让文件写日志可能会发生阻塞,muduo前端设计了2个BufferPtr,分别是currentBuffer和nextBuffer,还有一个存放BufferPtr的vector(buffers_)。 多个前端线程往currentBuffer写数据,currentBuff...
Kafka源码解析之日志段类LogSegment(下)
recover(恢复日志段)什么是恢复日志段?Broker 在启动时会从磁盘上加载所有日志段信息到内存中,并创建相应的 LogSegment 对象实例。是Broker重启后恢复日志段的操作逻辑。执行流程step1step2step3注意该操作在执行过程中要读取日志段文件。因此,若你的环境有很多日志段文件,你又发现Broker重启很慢,那你现在就知道了,这是因为Kafka在执行recover的过程....
Kafka源码解析之日志段类LogSegment(中)
2.2 日志段类解析类综述LogSegment 类定义核心 API读写日志是Kafka最常用的操作,而日志读取底层调用的就是日志段的这两个方法。append(写消息)重点关注一下写操作过程中更新索引的时机是如何设定的。执行流程step1先判断该日志段是否为空,若为空,则Kafka需记录要写入消息集的最大时间戳,并将其作为后面新增日志段倒计时的依据。step2step3step4每个日志段都要保存....
Kafka源码解析之日志段类LogSegment(上)
1 Kafka日志结构概览Kafka日志在磁盘上的组织架构如上图可见,Kafka日志对象由多个日志段对象组成,而每个日志段对象会在磁盘上创建一组文件,包括不止如下:消息日志文件(.log)位移索引文件(.index)时间戳索引文件(.timeindex)已中止(Aborted)事务的索引文件(.txnindex)若没有使用Kafka事务,已中止事务的索引文件不会被创建。图中的一串数字0是该日志段....
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。