当前位置: 首页 > news >正文

kafka 常用知识点 - 指南

kafka 常用知识点 - 指南

前言

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


kafka 常用知识点

在这里插入图片描述

1. kafka 概念

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

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