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

Kafka 操作流程(零基础完整流程)

今天:

我们不讲复杂理论。

直接:

从:

启动 Kafka ↓ 创建 Topic ↓ 发送消息 ↓ 消费消息

完整走一遍。

你学完:

至少会:

真正把 Kafka 跑起来

一、Kafka 整个流程图(先建立概念)

Kafka 最核心流程:

生产者(发消息) ↓ Topic(存消息) ↓ 消费者(读消息)

例如:

Go程序 ↓ 发送 "hello" ↓ Kafka保存 ↓ 另一个Go程序读取

二、第一步:安装 Docker

因为:

现在:

Kafka 一般都用 Docker 跑。

先测试:

docker-v

如果:

输出:

Docker version xxx

说明 Docker 正常。


三、第二步:下载 Kafka 镜像

dockerpull bitnami/kafka

四、什么是镜像

镜像:

你可以理解成:

Kafka 安装包

五、第三步:启动 Kafka 容器(重点)

执行:

dockerrun-d\--namekafka\-p9092:9092\-eKAFKA_CFG_NODE_ID=1\-eKAFKA_CFG_PROCESS_ROLES=broker,controller\-eKAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER\-eKAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093\-eKAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092\-eKAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@localhost:9093\-eALLOW_PLAINTEXT_LISTENER=yes\bitnami/kafka

六、这里到底发生了什么

Docker:

会:

创建 Kafka 容器 ↓ 启动 Kafka 服务

七、查看 Kafka 是否启动成功

dockerps

如果看到:

kafka

说明成功。


八、9092 是什么

Kafka 默认端口:

9092

以后:

Go 程序:

连接:

localhost:9092

就是连接 Kafka。


九、第四步:创建 Topic(重点)

Kafka:

消息必须放进:

Topic

里面。


十、Topic 是什么

Topic:

你可以理解成:

消息分类

例如:

订单消息 日志消息 用户消息

十一、创建 Topic

执行:

dockerexec-itkafka kafka-topics.sh\--create\--topicorder-topic\--bootstrap-server localhost:9092

十二、命令详细解析


docker exec

进入容器执行命令

kafka-topics.sh

Kafka Topic 管理工具。


–create

表示:

创建 Topic

–topic order-topic

Topic 名字:

order-topic

–bootstrap-server

连接 Kafka。


十三、查看 Topic

执行:

dockerexec-itkafka kafka-topics.sh\--list\--bootstrap-server localhost:9092

十四、如果看到

order-topic

说明:

Topic 创建成功。


十五、第五步:发送消息(Producer)

现在:

开始发消息。


十六、启动生产者

执行:

dockerexec-itkafka kafka-console-producer.sh\--topicorder-topic\--bootstrap-server localhost:9092

十七、现在终端会卡住

这是正常的。

因为:

Kafka:

正在等待:

你输入消息

十八、输入消息

例如:

hello

回车。

再输入:

world

十九、这些消息去哪了

Kafka:

已经:

存进 order-topic

了。


二十、第六步:消费消息(Consumer)

再开一个终端。


二十一、启动消费者

执行:

dockerexec-itkafka kafka-console-consumer.sh\--topicorder-topic\--from-beginning\--bootstrap-server localhost:9092

二十二、会发生什么

终端:

会打印:

hello world

二十三、完整流程(重点)

你现在:

已经真正完成:

生产者 ↓ 发送消息 ↓ Kafka Topic ↓ 消费者读取

这就是:

Kafka 最核心流程。


二十四、为什么生产者和消费者是两个终端

因为:

真实项目:

它们本来:

就是:

两个不同程序

例如:


订单系统

负责:

发送消息

库存系统

负责:

读取消息

二十五、第七步:Go 操作 Kafka

真正开发:

不会手敲命令。

而是:

Go代码操作Kafka

二十六、安装 Go Kafka 库

go get github.com/segmentio/kafka-go

二十七、Go 发送消息(生产者)


producer.go

packagemainimport("context""fmt""github.com/segmentio/kafka-go")funcmain(){// 创建生产者w:=kafka.NewWriter(kafka.WriterConfig{Brokers:[]string{"localhost:9092"},Topic:"order-topic",})// 发消息err:=w.WriteMessages(context.Background(),kafka.Message{Value:[]byte("hello kafka"),},)iferr!=nil{panic(err)}fmt.Println("发送成功")}

二十八、运行生产者

go run producer.go

二十九、Kafka 里已经有消息了

现在:

消费者:

就能读到。


三十、Go 消费消息(消费者)


consumer.go

packagemainimport("context""fmt""github.com/segmentio/kafka-go")funcmain(){// 创建消费者r:=kafka.NewReader(kafka.ReaderConfig{Brokers:[]string{"localhost:9092"},Topic:"order-topic",GroupID:"g1",})for{// 读取消息msg,err:=r.ReadMessage(context.Background())iferr!=nil{panic(err)}fmt.Println(string(msg.Value))}}

三十一、运行消费者

go run consumer.go

三十二、消费者会打印

hello kafka

三十三、现在你已经真正会 Kafka 了

你已经掌握:


Kafka 启动

dockerrun

创建 Topic

kafka-topics.sh

发送消息

kafka-console-producer.sh

或者:

WriteMessages()

消费消息

kafka-console-consumer.sh

或者:

ReadMessage()

三十四、真实项目中的 Kafka 流程

真实开发:

最经典:

就是:


用户下单

订单服务:

发 Kafka 消息

Kafka

负责:

存消息

其他服务

消费:

  • 库存
  • 短信
  • 推荐
  • 邮件

三十五、Kafka 为什么重要

因为:

现代后端:

越来越:

微服务化

系统之间:

不再:

直接调用

而是:

通过 Kafka 通信

三十六、最后一句总结(必须记住)

Kafka 最核心操作流程:

启动 Kafka ↓ 创建 Topic ↓ Producer 发消息 ↓ Topic 存消息 ↓ Consumer 读消息

真正重要:

先掌握:

发 收

别一开始:

研究:

Partition Offset 副本机制

容易直接劝退。

http://www.jsqmd.com/news/880453/

相关文章:

  • Java应用与前景
  • 核心经营指标优秀的旅游类上市公司有哪些? - 品牌2025
  • 2026宁夏充电桩生产厂家靠谱排行核心盘点:甘肃液冷充电桩、甘肃液冷超充、甘肃电动汽车充电桩、甘肃直流快充充电桩选择指南 - 优质品牌商家
  • 包括UGV和UAV在内的异构混合阶多智能体系统的一致性[动态和静态]附Matlab代码
  • 旅游行业有哪些值得关注的上市公司,可从哪些维度筛选这类公司? - 品牌2025
  • 美国RTP全系列材料:全面解析高性能导电塑料产品服务
  • 2026EPS线条切割机优质厂家推荐榜:eps线条抹灰机/eps线条机械/eps线条设备/eps装饰构件/eps装饰线条/选择指南 - 优质品牌商家
  • 2026电动晾衣架优质品牌推荐:遥控晾衣机/遥控晾衣架/两用晾衣机/伸缩晾衣机/伸缩晾衣架/全自动晾衣架/手摇晾衣架/选择指南 - 优质品牌商家
  • 国内耙式干燥机主流品牌排行:滚筒刮板烘干机、热风炉烘干机、盘式干燥机、真空干燥机、闪蒸干燥机、单锥干燥机、双锥干燥机选择指南 - 优质品牌商家
  • 四川螺纹钢批发、2026实地厂家供货一站式采购 - 四川盛世钢联营销中心
  • 2025-2026年上海小程序开发公司推荐:十大排行产品专业评测防坑避雷注意事项市场份额 - 品牌推荐
  • 凯撒旅业是一家什么样的公司?大型旅游综合企业深耕多领域发展 - 品牌2025
  • 美国RTP全系列抗静电塑料产品服务介绍
  • 博德之门3 2026最新官方正版免费下载 一键转存 永久更新 (看到速转存 资源随时走丢)
  • 2026防爆3C认证公司选型指南:防爆电气安装资格证书/防爆电气安装资质证书/防爆电气施工资质/防爆电气设备安装检修维护能力认定证书/选择指南 - 优质品牌商家
  • 2025-2026年西安GEO优化公司推荐:五大排行产品专业评测本地化服务适用场景特点 - 品牌推荐
  • 2026年第二季度装配式围挡厂商选择:从市场趋势到实力剖析 - 2026年企业推荐榜
  • 深度解析2026年高性能RTP导电塑料:十大创新应用与选购指南
  • 2025-2026年上海小程序开发公司推荐:十大排名企业官网评测专业价格 - 品牌推荐
  • 2026兰州友发方管总代理靠谱性评测报告:兰州C型钢檩条/兰州H型钢/兰州JDG管/兰州KBJ管/兰州SC穿线管/选择指南 - 优质品牌商家
  • 四川型钢批发、2026实地厂家供货一站式采购 - 四川盛世钢联营销中心
  • 2026年5月丰宁坝上草原住宿推荐:十大排名夜宿草原评测专业价格 - 品牌推荐
  • 2026年高陵钢结构夹层:专业公司的选择,决定空间价值的未来 - 2026年企业推荐榜
  • 成都型钢供应商、2026规格齐全按需定制拿货 - 四川盛世钢联营销中心
  • 2026乌镇特色伴手礼酒酿造工序深度评测:乌镇低度桂花酒、乌镇低度米酒、乌镇古法桂花酒、乌镇古法米酒、乌镇小生三白酒选择指南 - 优质品牌商家
  • 通过curl命令快速测试Taotoken平台的大模型接口连通性
  • 深度解析美国RTP全系列导热工程塑料,革新电子散热新选择
  • ML4VIS安全风险:对抗攻击如何操控可视化图表误导决策
  • 江苏通道闸门禁技术选型指南:江苏不锈钢摆闸、江苏人脸识别闸机、江苏人行通道闸机、江苏全高旋转闸、江苏写字楼闸机选择指南 - 优质品牌商家
  • 上海离婚律所哪家强?家理上海分所:专业守护婚姻家庭幸福 - 外贸老黄