kafka 常用知识点

发布于:2025-06-01 ⋅ 阅读:(79) ⋅ 点赞:(0)

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


kafka 常用知识点

在这里插入图片描述

1. kafka 概念

Kafka 是一个 分布式、高吞吐、可持久化的消息队列系统.。

  • 生产者(Producer):写信的人,负责“投递消息”。
  • 消费者(Consumer):收信的人,负责“接收消息”。
  • 主题(Topic):信箱,按主题投放和接收信。
  • Broker(代理):Kafka 服务器,就是邮局,负责存储和投递。
  • 分区(Partition):每个信箱的子格子,信按顺序放入格子中。
  • 消费组(Consumer Group):一群消费者在“轮流收信”。

2. 消息共享和广播

Kafka 的消息共享(负载)和广播(全量)消费行为,是通过自定义的消费组 group.id来决定的。
示例:
不同的 group.id(广播模式):

@KafkaListener(topics = "log-topic", groupId = "group-A") // A
@KafkaListener(topics = "log-topic", groupId = "group-B") // B

相同的 group.id(集群分摊模式)

@KafkaListener(topics = "log-topic", groupId = "group-A") // A1
@KafkaListener(topics = "log-topic", groupId = "group-A") // A2

在这里插入图片描述

3. 分区和副本数量奇偶数

属性 是否建议奇数 说明
分区数 ❌ 无要求 根据并发需求、消费者数量设定即可
副本数 ✅ 建议奇数 多数副本机制保证高可用(如 3 副本)

4、Kafka 主题管理相关命令示例(基于 kafka-topics.sh)

创建主题,3个分区,副本数2


kafka-topics.sh --create --topic my_topic --partitions 3 --replication-factor 2 --bootstrap-server localhost:9092

查看所有主题

kafka-topics.sh --list --bootstrap-server localhost:9092

查看某个主题详细信息

kafka-topics.sh --describe --topic my_topic --bootstrap-server localhost:9092

删除主题(需要broker配置允许删除)

kafka-topics.sh --delete --topic my_topic --bootstrap-server localhost:9092

网站公告

今日签到

点亮在社区的每一天
去签到