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
相关推荐
怡人蝶梦1 小时前
Java后端技术栈问题排查实战:Spring Boot启动慢、Redis缓存击穿与Kafka消费堆积
java·jvm·redis·kafka·springboot·prometheus
shangjg32 小时前
Kafka 如何保证不重复消费
java·分布式·后端·kafka
A尘埃2 小时前
Kafka消息中间件
分布式·kafka
小马过河R5 小时前
不加载PHP OpenTelemetry SDK实现Trace‌与Logs
开发语言·分布式·微服务·云原生·php
计算机毕设定制辅导-无忧学长7 小时前
RabbitMQ 源码剖析:消息存储与协议实现(一)
分布式·rabbitmq
会敲键盘的猕猴桃很大胆7 小时前
Redis实战-基于redis和lua脚本实现分布式锁以及Redission源码解析【万字长文】
java·redis·分布式·spring·lua
shangjg39 小时前
Kafka ACK机制详解:数据可靠性与性能的权衡之道
java·数据库·分布式·后端·kafka
怡人蝶梦13 小时前
Spring Boot启动慢?Redis缓存击穿?Kafka消费堆积?——Java后端常见问题排查实战
java·jvm·redis·kafka·springboot·prometheus·microservices
[email protected]15 小时前
Asp.Net Core SignalR的分布式部署
分布式·后端·asp.net·.netcore