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,主题生产消费一条龙。"

相关推荐
太阳伞下的阿呆1 天前
kafka高吞吐持久化方案(2)
分布式·kafka·高并发·重入锁
Chasing__Dreams1 天前
kafka--基础知识点--19--消息重复
分布式·kafka
import_random2 天前
[kafka]伪集群搭建,各个节点配置文件中listeners参数的配置
kafka
Mr.朱鹏3 天前
SQL深度分页问题案例实战
java·数据库·spring boot·sql·spring·spring cloud·kafka
山沐与山3 天前
【MQ】Kafka与RocketMQ深度对比
分布式·kafka·rocketmq
yumgpkpm3 天前
Cloudera CDP7、CDH5、CDH6 在华为鲲鹏 ARM 麒麟KylinOS做到无缝切换平缓迁移过程
大数据·arm开发·华为·flink·spark·kafka·cloudera
树下水月3 天前
Easyoole 使用rdkafka 进行kafka的创建topic创建 删除 以及数据发布 订阅
分布式·kafka
Cat God 0073 天前
基于Docker搭建kafka集群
docker·容器·kafka
Cat God 0073 天前
基于 Docker 部署 Kafka(KRaft + SASL/PLAIN 认证)
docker·容器·kafka