大数据:kafka:介绍
程序员文章站
2022-04-07 18:02:15
基本架构Producers:消息和数据生产者Consumers:消息和数据消费者Consumer Group:消费者群组Broker:代理服务器统称为 broker。Topic:消息分类(主题)Partition:Topic的物理分组。Message:消息,通信的基本单位,producer向topic发布。Leader:每个topic的管理者,负责该Topic消息写入,维护数据一致性。Controller:负责决策Leader,监听集群Broker信息变化,维持集群状态正常。Topi...
基本架构
Producers:消息和数据生产者
Consumers:消息和数据消费者
Consumer Group:消费者群组
Broker:代理服务器统称为 broker。
Topic:消息分类(主题)
Partition:Topic的物理分组。
Message:消息,通信的基本单位,producer向topic发布。
Leader:每个topic的管理者,负责该Topic消息写入,维护数据一致性。
Controller:负责决策Leader,监听集群Broker信息变化,维持集群状态正常。
Topic
Topic
- 每个topic可以有多个partition,每个parttition对应一个逻辑log,每个逻辑log由多个segment组成。
- 每个segment中存储多条消息,消息id由其逻辑位置决定,即从消息id可直接定位到消息的存储位置,避免id到位置的额外映射。
- 每个partition在内存中对应一个index,记录每个segment中的第一条消息偏移。
- broker收到发布消息后会向对应partition的最后一个segment上添加该消息,
- 当segment上的消息条数达到配置值或消息发布时间超过阈值时,segment上的消息会被flush到磁盘,只有flush到磁盘上的 消息订阅者才能订阅
Partition:
- 一个topic可以分为多个partition,
- 每个partition是一个有序的队列。
- partition中的每条消息会被分配一个有序id
- 每个分区代表一个并行单元
- partition为最小的并行消费单位。
message
- 无论发布的消息是否被消费,kafka都会持久化一定时间(可配置)
本文地址:https://blog.csdn.net/JinChao94/article/details/109510602
上一篇: Spring 框架 基础
下一篇: 操作系统第三章课后答案