Kafka05-入门-尚硅谷

1-Kafka入门-尚硅谷

按"概念→安装→操作→开发"顺序组织,答案力求一句话说清。

### 文章目录

  • [1-Kafka入门-尚硅谷](#文章目录 1-Kafka入门-尚硅谷 @[toc] 1. Kafka 基础概念 2. 环境安装(Windows单机) 3. 主题操作(命令行) 4. 生产与消费 5. 源码阅读(可选) 6. 记忆口诀)
  • [@toc](#文章目录 1-Kafka入门-尚硅谷 @[toc] 1. Kafka 基础概念 2. 环境安装(Windows单机) 3. 主题操作(命令行) 4. 生产与消费 5. 源码阅读(可选) 6. 记忆口诀)
  • [1. Kafka 基础概念](#文章目录 1-Kafka入门-尚硅谷 @[toc] 1. Kafka 基础概念 2. 环境安装(Windows单机) 3. 主题操作(命令行) 4. 生产与消费 5. 源码阅读(可选) 6. 记忆口诀)
  • [2. 环境安装(Windows单机)](#文章目录 1-Kafka入门-尚硅谷 @[toc] 1. Kafka 基础概念 2. 环境安装(Windows单机) 3. 主题操作(命令行) 4. 生产与消费 5. 源码阅读(可选) 6. 记忆口诀)
  • [3. 主题操作(命令行)](#文章目录 1-Kafka入门-尚硅谷 @[toc] 1. Kafka 基础概念 2. 环境安装(Windows单机) 3. 主题操作(命令行) 4. 生产与消费 5. 源码阅读(可选) 6. 记忆口诀)
  • [4. 生产与消费](#文章目录 1-Kafka入门-尚硅谷 @[toc] 1. Kafka 基础概念 2. 环境安装(Windows单机) 3. 主题操作(命令行) 4. 生产与消费 5. 源码阅读(可选) 6. 记忆口诀)
  • [5. 源码阅读(可选)](#文章目录 1-Kafka入门-尚硅谷 @[toc] 1. Kafka 基础概念 2. 环境安装(Windows单机) 3. 主题操作(命令行) 4. 生产与消费 5. 源码阅读(可选) 6. 记忆口诀)
  • [6. 记忆口诀](#文章目录 1-Kafka入门-尚硅谷 @[toc] 1. Kafka 基础概念 2. 环境安装(Windows单机) 3. 主题操作(命令行) 4. 生产与消费 5. 源码阅读(可选) 6. 记忆口诀)

1. Kafka 基础概念

知识点 一句话答案
1.1 初识Kafka Scala+Java写的高吞吐分布式发布订阅系统,2010年LinkedIn出品,2012成为Apache顶级项目。
1.2 消息队列 传输数据的中间件,Kafka没完全遵循JMS规范,故名字里无MQ。
1.3 JMS五大件 Provider、Message、Producer、Consumer、Destination(Queue/Topic)。
1.4 P2P vs 发布订阅 P2P一条消息只被一个消费者 取走;发布订阅一条消息可被多个订阅者同时消费,Kafka采用后者。
1.5 生产者-消费者模式 队列当缓冲区解耦削峰,单机用阻塞队列,分布式用Kafka这类中间件。
1.6 中间件对比 Kafka10万级吞吐、毫秒延迟、分布式高可用 ,适合大数据;ActiveMQ/RabbitMQ万级吞吐,适合JavaEE。
1.7 ZooKeeper作用 替Kafka保存元数据与节点状态,2.8+开始用Raft去ZK,4.x将彻底移除。

2. 环境安装(Windows单机)

知识点 一句话答案
2.1 所需版本 Java 8即可,Kafka 3.6.1内置Scala 2.12,无需另装Scala。
2.2 安装包 下载kafka_2.12-3.6.1.tgz,解压到非系统盘,目录改短如E:/kafka
2.3 启动ZK config/zookeeper.propertiesdataDir,执行 zookeeper-server-start.bat ../../config/zookeeper.properties
2.4 启动Kafka server.propertieslog.dirs,执行 kafka-server-start.bat ../../config/server.propertiesjps看到Kafka进程即成功。

3. 主题操作(命令行)

知识点 一句话答案
3.1 创建主题 kafka-topics.bat --bootstrap-server localhost:9092 --create --topic 名字
3.2 列表/详情 --list看所有主题;--describe --topic 名字看分区副本等细节。
3.3 修改主题 --alter --partitions 新分区数(只能增)。
3.4 删除主题 --delete --topic 名字;Windows易锁文件,建议Linux再做。

4. 生产与消费

知识点 一句话答案
4.1 命令行生产 kafka-console-producer.bat --bootstrap-server localhost:9092 --topic 名字,回车即发送。
4.2 命令行消费 kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic 名字 --from-beginning
4.3 图形工具 Kafka Tool连localhost:9092可可视化收发消息。
4.4 Java 生产 kafka-clients 3.6.1,配BOOTSTRAP_SERVERS + KEY/VALUE序列化new KafkaProducer<>(conf).send(record)
4.5 Java 消费 BOOTSTRAP_SERVERS + 反序列化 + group.idconsumer.subscribe(Arrays.asList("topic"))poll循环取ConsumerRecord

5. 源码阅读(可选)

知识点 一句话答案
5.1 所需环境 JDK 17 + Scala 2.13 + Gradle,导入kafka-3.6.1-src.tgzgradle build --exclude-task test再IDEA打开。

6. 记忆口诀

"Kafka快似飞,发布订阅不排队;ZK管元数据,去ZK等4.x;先启ZK再启K,主题生产消费一条龙。"

相关推荐
(Charon)17 小时前
【Kafka】消息队列学习(一):为什么需要Kafka?从消息队列到整体架构
学习·架构·kafka
clz131452117 小时前
风险特征系统 EPC 子系统:基于 Kafka 数据源与数据集配置的 Flink 指标清洗加工
分布式·flink·kafka
富士康质检员张全蛋17 小时前
Kafka实战 生产阶段 消费阶段的拦截器
kafka
clz131452119 小时前
用 Akka Actor 模拟消费 Kafka 加工处理并发送到 Flink Out Kafka 的完整示例
flink·kafka·linq
(Charon)19 小时前
【Kafka】消息队列学习(二):Topic、Partition与Offset,消息到底存在哪里
分布式·学习·kafka
大橙子plus2 天前
linux搭建kafka
linux·运维·kafka
letisgo52 天前
JAVA 高级进阶10篇《消息队列实战:RocketMQ/Kafka选型与“不丢不重有序“三连解》
java·面试·kafka·消息队列·rocketmq
雾隐隐o2 天前
Kafka 集群搭建:从核心概念到多节点部署
分布式·kafka
凤山老林2 天前
Spring Boot 集成 Apache Kafka Streams 构建流处理应用:状态存储、窗口聚合与
spring boot·kafka·apache
小楼昨夜又东风1263 天前
kafka、rocketmq、rabbitmq,有什么区别
kafka·rabbitmq·rocketmq