欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

大数据:kafka:介绍

程序员文章站 2024-01-06 11:48:11
基本架构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