kafka

1. 概念 concepts

2. 关系

2.1 Topic & Partition

2.2 Consumer Group & Consumer

3. 存储

graph TD

T[Topic] --> P0(Partion 0)
T --> P1(Partion 1)
T --> P2(Partion 2)

P0 --> L0(log)
P1 --> L1(log)
P2 --> L2(log)

L1 --> S0(Segment)
L1 --> S1(Segment)
L1 --> S2(Segment)

S1 --> F0(.log)
S1 --> F2(.index)

3.1 append log

3.2 删除数据

提供两种策略:

  1. 基于时间,让kafka删除2天或一周的数据;
  2. 基于partition文件大小:让kafka在partition文件超过1GB时删除数据;

4. 特性

4.1 exactly once

kafka保证同一个消费组里只有一个消费者会消费一条消息。

4.2 consumer reblance

根据consumer group中的consumer数量和partition数量,可以分为以下3种情况:

A. Reference

History