File tree Expand file tree Collapse file tree 2 files changed +73
-6
lines changed Expand file tree Collapse file tree 2 files changed +73
-6
lines changed Original file line number Diff line number Diff line change 3
3
### 增Create
4
4
5
5
- 单条添加
6
-
7
6
- 批量添加
8
7
9
8
### 删Delete
15
14
16
15
### 查Read
17
16
18
- - 按` PrimaryKey ` 查
19
- - 全表获取, 用来作缓存
20
- - 按业务ID(比如角色表的部门ID)查, 然后按时间排序
21
- - 用关键字段(比如各种ID)查
22
- - FORM表单查, 用于后台管理系统
17
+ 主要条件和附加条件的排列组合
18
+
19
+ - 主要条件
20
+
21
+ 1 . 按` PrimaryKey ` 查
22
+ 2 . 全表获取, 用来作缓存
23
+ 3 . 按业务ID(比如角色表的部门ID)查, 然后按时间排序
24
+ 4 . 用关键字段(比如各种ID)查
25
+ 5 . FORM表单查, 用于后台管理系统
26
+
27
+ - 附加条件
28
+ 1 . 按时间
29
+ 1 . 按` is_delete ` 状态
23
30
24
31
### 改Update
25
32
Original file line number Diff line number Diff line change
1
+ ---
2
+ title : Kafka topic 相关几个概念
3
+ type : page
4
+ ---
5
+
6
+ ## kafka概念
7
+
8
+ https://zhuanlan.zhihu.com/p/658751489
9
+
10
+
11
+
12
+ topic: 逻辑标签
13
+
14
+ partition:topic的物理 分区,每个topic可以分到多个partition,一对多关系。partition使得一个topic可以分散到不同broker上。partiiton还可以有冗余备份。
15
+
16
+ offset:offset是partition中每条消息的唯一标识,用于定位和记录消息在partition中的消费进度。
17
+
18
+ #### offset的作用
19
+
20
+ 1 . 定位消息,一条消息对应一个offset
21
+ 2 . 记录消费进度,消费者消费成功后提交offset
22
+
23
+ ### 存储offset
24
+
25
+ ##### 生产者
26
+
27
+ 生产者生产一个消息后可以通过指定` partition key ` 或者自动分配的方式找到一个 partition 并且在发送消息成功后拿到这个消息的 offset
28
+
29
+ ##### 消费者
30
+
31
+ 消费者需要维护两个offset: 当前消费进度和已提交的消费进度
32
+
33
+ 1 . 自动提交
34
+ 2 . 手动提交 调用sdk 函数
35
+
36
+ offset存储位置:kafka的一个内置主题` __consumer_offsets ` 。每个消费者(组)共享一个topic的消费进度。
37
+
38
+ #### 重置offset
39
+
40
+ 重置就是修改offset值
41
+
42
+ 目的:调整消费位置,可以重新消费或者跳过某些消息
43
+
44
+ 1 . 手动重置:调用seek函数
45
+ 2 . 自动重置:消费者启动时根据` auto.offset.reset ` 决定从哪里开始消费。
46
+
47
+ ### 消费保证
48
+
49
+ #### 顺序性
50
+
51
+ kafka保证分区顺序性,同一个分区的消息按照offset来消费,但是不保证跨partition的topic中的message的顺序。
52
+
53
+ #### 一致性
54
+
55
+ 一致性是指消息的正确发送和接受,没有丢失或者重复。
56
+
57
+ 1 . At most once
58
+ 2 . At least once
59
+ 3 . exactly once: 适用于严格敏感的场景(金融)。
60
+
You can’t perform that action at this time.
0 commit comments