kafka 常用知识点

文章目录

  • 前言
    • [kafka 常用知识点](#kafka 常用知识点)
      • [1. kafka 概念](#1. kafka 概念)
      • [2. 消息共享和广播](#2. 消息共享和广播)
      • [3. 分区和副本数量奇偶数](#3. 分区和副本数量奇偶数)

前言

如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。

而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


kafka 常用知识点

1. kafka 概念

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

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

2. 消息共享和广播

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

示例:

不同的 group.id(广播模式):

bash 复制代码
@KafkaListener(topics = "log-topic", groupId = "group-A") // A
@KafkaListener(topics = "log-topic", groupId = "group-B") // B

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

bash 复制代码
@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

bash 复制代码
kafka-topics.sh --create --topic my_topic --partitions 3 --replication-factor 2 --bootstrap-server localhost:9092

查看所有主题

bash 复制代码
kafka-topics.sh --list --bootstrap-server localhost:9092

查看某个主题详细信息

bash 复制代码
kafka-topics.sh --describe --topic my_topic --bootstrap-server localhost:9092

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

bash 复制代码
kafka-topics.sh --delete --topic my_topic --bootstrap-server localhost:9092
相关推荐
惊讶的猫39 分钟前
rabbitmq初步介绍
分布式·rabbitmq
小镇敲码人1 小时前
华为CANN框架中HCCL仓库的全面解析:分布式通信的引擎
分布式·华为
User_芊芊君子1 小时前
【分布式训练】CANN SHMEM跨设备内存通信库:构建高效多机多卡训练的关键组件
分布式·深度学习·神经网络·wpf
酷酷的崽7982 小时前
CANN 开源生态解析(四):`cann-dist-train` —— 构建高效可扩展的分布式训练引擎
分布式·开源
惊讶的猫3 小时前
AMQP 与 RabbitMQ 四大模型
分布式·rabbitmq
灰子学技术3 小时前
istio从0到1:如何解决分布式配置同步问题
分布式·云原生·istio
小马爱打代码3 小时前
ZooKeeper:入门实战
分布式·zookeeper·云原生
永远都不秃头的程序员(互关)4 小时前
CANN赋能AIGC分布式训练:硬核通信,加速大模型智能生成新纪元
分布式·aigc
杜子不疼.5 小时前
CANN集合通信库HCCL的大规模分布式训练通信优化与拓扑感知实践
分布式
ALex_zry17 小时前
Redis Cluster 分布式缓存架构设计与实践
redis·分布式·缓存