大数据:kafka:介绍

基本架构

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都会持久化一定时间(可配置) 

猜你喜欢

转载自blog.csdn.net/JinChao94/article/details/109510602