Kafka Topics
- Topics: 一种特殊的数据流
- 就像数据库中的表,但没有所有的约束
- 可以有任意多的 Topics
- 一个 Topic 由它的 name 定义
- 任意格式的消息格式
- Topic 中的消息序列称为 data stream
- 你无法像数据库一样查询 Topics
Partitions and offsets
- Topics 被划分为 Partitions
- 每个分区中的消息会被排序
- 每个分区中的消息会有一个递增的 id,即 offset
- Kafka topics是不可变的,一旦数据写入到分区就不可修改
- 数据只保留有限时间(默认是一周,可配置)
- 即使前面的数据被删除,offset 也不会被复用
- 消息的顺序只在一个分区内得到保证
- 当数据(Record消息记录,包含key和value)被发送到kafka主题时,但key为空时,会以轮询的方式写入不同的分区,key不为空时,相同key的消息会被写入到同一个分区
Leader, Follower, and In-Sync Replica (ISR) List
- ISR 集合包含了当前可用的、与 Leader 分区保持同步的副本(Replica)
- ISR 集合的信息保存在每个 Broker 的日志目录中的元数据文件中,文件名为
isr-[partition-id]
。该元数据文件包含了每个分区的 ISR 集合及其相关的信息,比如 Leader 副本、副本列表、最后一次同步的位置等。
- 如果某个副本不能正常同步数据或者落后的比较多,那么kafka会从ISR中将这个节点移除,直到它追赶上来之后再重新加入
posted @
2023-01-02 20:36
Bota5ky
阅读(
61)
评论()
编辑
收藏
举报