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

Kafka 零基础入门(最基本用法)

很多人第一次学 Kafka一上来就看到Broker Partition Offset Consumer Group直接懵。其实Kafka 最开始你只需要理解发消息 收消息就够了。别一开始研究底层。一、Kafka 到底是什么一句话Kafka 存消息的地方你可以理解成高级版消息队列二、消息是什么例如用户下单。订单系统可以发送一条消息用户下单成功Kafka负责保存这条消息然后别的程序再去读取。三、Kafka 最核心流程必须理解Kafka本质就三步。1. 生产者发消息Producer2. Kafka 存消息Topic3. 消费者读消息Consumer四、先理解 Topic最重要Kafka 里面消息必须放到Topic里面。五、Topic 是什么你可以理解成消息分类例如订单消息 用户消息 日志消息分别放不同 Topic。六、最简单类比你可以理解成QQ 群Topic 群聊发消息的人Producer看消息的人Consumer七、Kafka 最基础流程图生产者 ↓ 发送消息 ↓ Kafka Topic ↓ 消费者读取八、Kafka 第一步启动 Kafka现在一般都用 Docker。九、Docker 启动 Kafka最简单先拉镜像dockerpull bitnami/kafka十、启动 Kafkadockerrun-d\--namekafka\-p9092:9092\-eKAFKA_CFG_NODE_ID1\-eKAFKA_CFG_PROCESS_ROLESbroker,controller\-eKAFKA_CFG_CONTROLLER_LISTENER_NAMESCONTROLLER\-eKAFKA_CFG_LISTENERSPLAINTEXT://:9092,CONTROLLER://:9093\-eKAFKA_CFG_ADVERTISED_LISTENERSPLAINTEXT://localhost:9092\-eKAFKA_CFG_CONTROLLER_QUORUM_VOTERS1localhost:9093\-eALLOW_PLAINTEXT_LISTENERyes\bitnami/kafka十一、9092 是什么Kafka 默认端口9092以后Go 程序就连接localhost:9092十二、创建 TopicKafka必须先有 Topic。创建 order-topicdockerexec-itkafka kafka-topics.sh\--create\--topicorder-topic\--bootstrap-server localhost:9092十三、查看 Topicdockerexec-itkafka kafka-topics.sh\--list\--bootstrap-server localhost:9092如果看到order-topic说明成功。十四、发送消息最重要现在开始发消息。开启生产者dockerexec-itkafka kafka-console-producer.sh\--topicorder-topic\--bootstrap-server localhost:9092十五、现在发生了什么你已经进入Kafka消息输入模式终端会卡住。这是正常的。十六、输入消息例如hello回车。再输入world十七、这些消息去哪了Kafka已经保存起来了存进order-topic十八、读取消息消费者现在再开一个终端。启动消费者dockerexec-itkafka kafka-console-consumer.sh\--topicorder-topic\--from-beginning\--bootstrap-server localhost:9092十九、会看到什么你刚刚发送的hello world都会打印出来。二十、完整流程你现在已经跑通了生产者 ↓ hello ↓ Kafka Topic ↓ 消费者 ↓ 读取hello这就是Kafka 最基础用法。二十一、Kafka 最核心理解Kafka本质就是生产者写消息 消费者读消息二十二、Go 操作 Kafka重点真正开发不会手敲命令。而是Go代码操作Kafka二十三、安装 Kafka Go 库go get github.com/segmentio/kafka-go二十四、Go 发送消息生产者示例packagemainimport(contextgithub.com/segmentio/kafka-go)funcmain(){// 创建 writer生产者w:kafka.NewWriter(kafka.WriterConfig{Brokers:[]string{localhost:9092},Topic:order-topic,})// 发消息w.WriteMessages(context.Background(),kafka.Message{Value:[]byte(hello kafka),},)}二十五、代码详细解析NewWriterkafka.NewWriter()表示创建Kafka生产者BrokersBrokers:[]string{localhost:9092}Kafka 地址。TopicTopic:order-topic消息发到哪个 Topic。WriteMessagesw.WriteMessages()真正发送消息。ValueValue:[]byte(hello kafka)消息内容。二十六、Kafka 为什么用 []byte因为Kafka底层只认识二进制数据所以字符串必须[]byte(...)转换。二十七、Go 读取消息消费者示例packagemainimport(contextfmtgithub.com/segmentio/kafka-go)funcmain(){// 创建消费者r:kafka.NewReader(kafka.ReaderConfig{Brokers:[]string{localhost:9092},Topic:order-topic,GroupID:g1,})for{// 读取消息msg,_:r.ReadMessage(context.Background())fmt.Println(string(msg.Value))}}二十八、代码解析NewReaderkafka.NewReader()创建消费者。GroupIDGroupID:g1消费者组。现在先不用深究。你可以简单理解消费者编号ReadMessager.ReadMessage()从 Kafka 读取消息。msg.Valuemsg.Value消息内容。二十九、为什么消费者一直 for因为Kafka消息会不断产生。所以消费者通常一直监听三十、现在你已经掌握了 Kafka 最核心用法你已经会创建 Topickafka-topics.sh发消息kafka-console-producer.sh或者WriteMessages()收消息kafka-console-consumer.sh或者ReadMessage()三十一、真实项目里的 Kafka真实开发最经典就是用户下单订单服务发Kafka消息其他服务消费库存短信邮件推荐系统三十二、最后一句总结必须记住Kafka 最核心Producer 发消息 ↓ Topic 存消息 ↓ Consumer 读消息你现在最重要先会发 收别一开始研究Partition Offset 副本机制容易直接崩。
http://www.zskr.cn/news/1372923.html

相关文章:

  • Kafka 入门笔记(核心语法 + 用法)
  • 1231546
  • Fiddler手机抓包HTTPS失败原因与证书信任解决方案
  • 排错刚需|Linux日志管理+时间同步完整实战教程
  • 北欧旅游哪家旅行社靠谱不踩坑?北欧旅游哪家旅行社靠谱不踩坑? - 品牌2025
  • 双排链轮技术解析与国内优质供应主体盘点:河北四排链轮/河北异型齿条/河北链轮/河北齿条/河北齿轮/北京双排链轮/选择指南 - 优质品牌商家
  • 专业CMA第三方检验检测机构全领域合规服务:公共卫生检测/公共场所卫生检测/公共环境卫生检测/土壤土质检测/室内环境检测/选择指南 - 优质品牌商家
  • 信息安全工程师-大数据安全核心知识点与备考指南-终章
  • 2026年LED路灯成套采购:扬州户外灯、扬州景观灯、扬州标志牌杆、扬州标识牌、扬州红绿灯杆、扬州警示牌、扬州路灯选择指南 - 优质品牌商家
  • TunaMH算法:基于谱间隙优化的小批量MCMC精确采样
  • 2026年5月新消息:青岛吸塑厂选哪家?深度解析专业定制吸塑厂青岛政浩诚 - 2026年企业推荐榜
  • Qt应用AES/RSA加密监控:Frida+对象生命周期追踪框架
  • 手机号查QQ号合法替代方案与技术合规指南
  • HexStrike AI v6.0:面向红队实战的多智能体渗透框架
  • 热门CSDN文章个人IP打造指南——从技术博主到行业KOL的进阶之路
  • Linux 特殊权限 SUID SGID 粘滞位 详解(面试 + 工作)
  • Linux umask 默认权限掩码 彻底详解(原理 + 计算)
  • Linux sudo 提权配置 + 普通用户精准授权(运维必备)
  • DeepSeek LeetCode 2617. 网格图中最少访问的格子数 Java实现
  • 工业AI预测性维护:让设备从“急诊抢救“走向“定期体检“
  • Excel插件推荐——MarketXLS等投资工具评测
  • 好用还专业!2026 降AIGC平台测评:最新工具推荐与对比分析
  • 好用的AI写作辅助软件推荐(2026最新版)
  • 宝藏合集!2026AI论文网站榜单(覆盖 99% 毕业生论文需求)
  • 4.1 PE 系统简介:Windows PE 是什么?桌面支持为什么必须会
  • Windows上安装APK文件的终极指南:告别臃肿模拟器,轻松实现跨平台应用安装
  • java类继承理解
  • Python基础篇:闭包、装饰器wrapper
  • 雷电模拟器安卓7+抓包失败原因与Burp证书配置方案
  • Web安全 - 国密 SSL / TLCP 接入手把手系列