Skip to content

Commit 936971a

Browse files
committed
add kafka
1 parent bdb5a90 commit 936971a

File tree

2 files changed

+73
-6
lines changed

2 files changed

+73
-6
lines changed

MySQL/comman_uassage.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
### 增Create
44

55
- 单条添加
6-
76
- 批量添加
87

98
### 删Delete
@@ -15,11 +14,19 @@
1514

1615
### 查Read
1716

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`状态
2330

2431
### 改Update
2532

mq/kafka/concept.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
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+

0 commit comments

Comments
 (0)