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

Kafka 入门笔记(核心语法 + 用法)

很多人第一次学 Kafka:

都会被这些名词吓到:

Broker Topic Partition Offset Consumer Group

感觉:

特别复杂。

其实:

Kafka 核心思想:

还是:

生产者发消息 消费者收消息

只是:

Kafka 为了:

高并发 高吞吐 分布式

做了很多增强。


一、Kafka 是什么

Kafka:

本质:

高性能消息队列

用于:

  • 异步通信
  • 日志收集
  • 大数据
  • 实时流处理

二、Kafka 最经典应用

例如:

用户下单。


订单服务

发送消息:

订单创建成功

Kafka

负责:

存储消息

其他服务

消费:

  • 库存
  • 短信
  • 积分
  • 推荐系统

三、Kafka 核心概念(必须掌握)

Kafka 最核心:

只有几个东西。


四、Broker(Kafka服务器)

Kafka 服务器:

叫:

Broker

你可以理解成:

Kafka 节点

五、Topic(主题)

Topic:

本质:

消息分类

例如:

order-topic user-topic log-topic

六、为什么需要 Topic

因为:

系统消息:

不可能:

全混在一起

所以:

需要:

分类

七、生产者(Producer)

负责:

发送消息

例如:

订单系统。


八、消费者(Consumer)

负责:

读取消息

例如:

库存系统。


九、完整流程(重点)

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

十、Kafka 最重要概念:Partition(分区)

Kafka:

为什么性能高?

核心就在:

Partition

十一、什么是分区

一个 Topic:

可以:

拆成多个分区

例如:

order-topic Partition0 Partition1 Partition2

十二、为什么要分区

因为:

Kafka:

可以:

并行读写

十三、类比

例如:

食堂窗口。


一个窗口

所有人排一队

很慢。


三个窗口

三队同时处理

吞吐量暴涨。


十四、Offset(偏移量)

Kafka:

不会删除消息。

它通过:

Offset

记录:

读到哪里了

十五、Offset 本质

你可以理解成:

消息编号

例如:

0 1 2 3 4

十六、消费者读取过程

消费者:

会记录:

当前读到哪个 Offset

下次:

继续往后读。


十七、Consumer Group(消费者组)

Kafka:

支持:

多个消费者一起消费

十八、为什么需要消费者组

例如:

订单太多。

一个消费者:

处理不过来。

于是:

多个消费者一起处理

十九、规则(重点)

同一个 Partition:

同一时刻 只能被一个消费者消费

二十、为什么这样设计

为了:

保证顺序

否则:

消息顺序可能乱。


二十一、Kafka 特点(必须理解)

Kafka:

最核心特点:


1. 高吞吐

特别快。


2. 顺序写磁盘

Kafka:

不是随机写。

而是:

顺序追加

所以:

性能极高。


3. 分布式

支持:

多机器集群

4. 可持久化

消息:

会写磁盘。


二十二、Kafka 和 RabbitMQ 区别

很多人:

都会问。


RabbitMQ

特点:

功能丰富 简单 稳定 业务系统常用

Kafka

特点:

吞吐极高 适合大数据 日志流

二十三、Kafka 常见场景


日志收集

例如:

服务器日志。


用户行为分析

例如:

点击 浏览 点赞

实时推荐

例如:

抖音推荐流。


大数据

例如:

实时统计。


二十四、Kafka 常见命令(重点)


二十五、启动 Kafka

新版 Kafka:

通常:

bin/kafka-server-start.sh config/server.properties

二十六、创建 Topic

bin/kafka-topics.sh\--create\--topicorder-topic\--bootstrap-server localhost:9092

–topic

表示:

主题名字

二十七、查看 Topic

bin/kafka-topics.sh\--list\--bootstrap-server localhost:9092

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

bin/kafka-console-producer.sh\--topicorder-topic\--bootstrap-server localhost:9092

然后:

输入:

hello

消息:

就进 Kafka 了。


二十九、消费消息(消费者)

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

–from-beginning

表示:

从头开始读

三十、Go 操作 Kafka(重点)

Go:

常用库:

segmentio/kafka-go

或者:

sarama

三十一、Go 生产者示例


安装

go get github.com/segmentio/kafka-go

发送消息

packagemainimport("context""github.com/segmentio/kafka-go")funcmain(){w:=kafka.NewWriter(kafka.WriterConfig{Brokers:[]string{"localhost:9092"},Topic:"order-topic",})w.WriteMessages(context.Background(),kafka.Message{Value:[]byte("hello kafka"),},)}

三十二、代码解析


Brokers

Brokers:[]string{"localhost:9092"}

Kafka 地址。


Topic

Topic:"order-topic"

发到哪个主题。


Value

Value:[]byte("hello kafka")

消息内容。


三十三、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,_:=r.ReadMessage(context.Background())fmt.Println(string(msg.Value))}}

三十四、代码解析


GroupID

GroupID:"g1"

消费者组。


ReadMessage

r.ReadMessage()

读取 Kafka 消息。


三十五、Kafka 消息结构

Kafka 消息:

不仅有 Value。

还有:

Key Value Offset Partition Timestamp

三十六、Key 的作用

Key:

决定:

消息进入哪个 Partition

三十七、为什么 Key 很重要

例如:

订单消息。

希望:

同一个订单 进入同一个Partition

这样:

才能:

保证顺序

三十八、Kafka 为什么这么快(核心)

Kafka:

性能高:

核心原因:


1. 顺序写磁盘


2. 零拷贝


3. 分区并行


4. 批量发送


三十九、Kafka 真正核心思想

你一定要理解:

Kafka:

不是:

传统业务消息队列

它更偏向:

数据流平台

四十、最后总结

Kafka 本质:

高吞吐分布式消息队列

核心结构:

Producer ↓ Topic ↓ Partition ↓ Consumer Group

最核心概念:

概念作用
BrokerKafka服务器
Topic消息分类
Partition分区并行
Offset消息编号
Consumer Group消费者组

Go 常见操作:

NewWriter → 发消息 NewReader → 收消息

Kafka 最大特点:

高吞吐 高并发 分布式 实时流处理
http://www.jsqmd.com/news/880464/

相关文章:

  • 凯撒旅业有多少年历史?发展关键节点有哪些? - 品牌2025
  • 2026预制菜包装机优质品牌推荐指南:高速立式机、‌液体包装机、‌自动包装机、全自动立式包装机、拉伸膜真空包装机选择指南 - 优质品牌商家
  • 成都热轧H型钢供应商、2026规格齐全按需定制拿货 - 四川盛世钢联营销中心
  • 保险领域AutoML实战:从数据不平衡到模型部署的端到端解决方案
  • 2026全疆中央空调安装服务标杆名录:换热站设备/换热站运维/智能换热站/空气能供暖安装/空气能供暖工程/空气能供暖改造/选择指南 - 优质品牌商家
  • 成都钢管供应商、2026规格齐全按需定制拿货 - 四川盛世钢联营销中心
  • 成都螺纹钢供应商、2026规格齐全按需定制拿货 - 四川盛世钢联营销中心
  • Kafka 零基础入门(最基本用法)
  • 2026年5月北京房产分割纠纷律师推荐:伊志律师事务所专业解析 - 2026年企业推荐榜
  • 2026年5月川内旅游租车品牌核心能力实测解析:商务车租赁/四川租车公司/大巴车租赁/川西包车电话/德阳租车公司电话/选择指南 - 优质品牌商家
  • Kafka 操作流程(零基础完整流程)
  • 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年上海小程序开发公司推荐:十大排名企业官网评测专业价格 - 品牌推荐