kafka工作流程分析-Broker保存消息

存储方式
物理上把 topic 分成一个或多个 patition(对应 server.properties 中的 num.partitions=3 配置),每个
patition 物理上对应一个文件夹
(该文件夹存储该 patition 的所有消息和索引文件),如下:

kafka工作流程分析-Broker保存消息_第1张图片

存储策略
无论消息是否被消费,kafka 都会保留所有消息。有两种策略可以删除旧数据:
1)基于时间:log.retention.hours=168

2)基于大小:log.retention.bytes=1073741824
需要注意的是,因为 Kafka 读取特定消息的时间复杂度为 O(1),即与文件大小无关, 所以这里删除过期文件
与提高 Kafka 性能无关。

kafka在Zookeeper 中的存储结构

kafka工作流程分析-Broker保存消息_第2张图片

注意:producer 不在 zk 中注册,消费者在 zk 中注册。

你可能感兴趣的:(#,kafka)