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

Kafka的操作 生产消息 消费消息

生产者就是生产一条一条的消息,然后发送到Kafka。

而发送到Kafka的过程当中需要去指定一个topic,这条消息要存储在哪个主题当中。消费者就可以从这个主题当中进行消息的消费了。

下面的脚本就是以控制台作为消息的输入源,在控制台输入弟弟每一行数据会被当做一条消息发送给Kafka存到指定的分区,指定的topic当中。

可以看到主题里面是没有任何消息在里面的,在控制台发送消息,至于消息放在哪个分区里面现在还不知道,肯定是找到其中一个分区存起来了,要么在0 1 2分区的其中一个。到底进入到哪个分区里面是由分区器来决定的。

生产者生产的消息是会被存放在log文件当中。

通过控制台可以不断的生产数据,这些数据最后都会被存放在指定的分区里面。

如果有分区没有存在,但是生产者都在往一个不存在分区里面写入数据

可以看到主题被自动的创建出来了。

当生产者生产所指定的主题不存在,那么它会自动创建。创建主题要指定分区数量和副本因子,那么如果没有指定那就1个。分区和副本都是1个。

这样测试可以使用,平时不会满足实际场景。分区数量是后期可以调整,但是副本因子改不了。

所以在启动生产者的时候好好检查指定的主题是不是存在的,是不是可用的。

上面就是通过脚本来开启了一个生产者,生产消息发送到指定的主题当中。

消费者可以从Kafka中消费指定主题当中的消息,消费者也可以写一段逻辑和程序对消息进行处理。当然也可以使用Kafka内置的脚本。这个脚本非常简单,就是将Kafka当中指定topic的数据消费,打印在控制台上面。

光标就停在这个位置了,它会不断的从Kafka当中拉取最新的数据出来。可以看到生产者生产出来的消息消费者马上就可以收到这个消息。

[apps@bin]$ ./kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic test-topic >hello > [apps@bin]$ ./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic test-topic hello

上面有个缺陷,消费者只能消费到当时生产者所生产的消息,但是之前生产的消息是消费不到的。

这就需要去了解一个概念offset。生产者生产出来的消息最后是存放在指定的topic中的分区当中的,好几个分区中都有很多的数据消息。每一条消息在分区当中都有都有一个唯一的序号,这就叫做offset,偏移量。

offset是一个long型的数字,有8个字节长度,offset在分区之内一定是有序的。分区之间不一定是有序的,但是在同一个分区内一定是有序的。

在图中topic有3个分区,生产者在生产消息的时候会把消息放在指定的分区里面。每个分区中都会有个编号的,在单独的分区当中,序号都是单调递增的。

所以每个消息在分区当中都有一个offset作为位置的索引,也是唯一标识。

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

相关文章:

  • 深圳亨得利名表官方服务中心地址|2026年7月最新公示|罗湖华润大厦504官方网点+全国统一服务电话400-901-0695权威发布 - 亨得利腕表维修中心
  • 终极指南:3步为iOS 17设备开启JIT编译的完整教程
  • 2026年萧邦 中国区售后服务网络更新优化 全国60+门店地址及电话汇总 - 亨得利客户服务中心
  • Joplin终极隐私笔记指南:如何用开源工具保护你的数字记忆
  • 上海江诗丹顿中国官方售后服务网点|官方服务电话及地址权威公示(2026年7月最新) - 亨得利腕表服务中心
  • Token计费怎么算?通俗讲清AI模型费用
  • 如何快速掌握猫抓cat-catch:浏览器资源嗅探的完整指南
  • unenv核心功能揭秘:从defineEnv配置到Node.js内置模块的完美模拟
  • 3步免费激活IDM:解锁完整下载功能的终极指南
  • G-Helper深度解析:华硕笔记本硬件控制的工程化解决方案
  • 声际音乐全球数位音乐发行管理服务平台
  • 如何快速掌握YimMenu:GTA5最强安全菜单的完整配置指南
  • 2026淮安靠谱防水公司TOP3推荐:卫生间免砸砖防水、楼顶渗漏、外墙窗台堵漏 - 吉林同城获客
  • Windows字体自定义终极指南:用noMeiryoUI轻松打造个性化系统界面
  • 2026北京电大中专报名中心_北京电大中专报考条件及学费 - 我叫小周
  • 2026年7月全国精选5款家电数码零售SAAS小程序开发工具:0代码做小程序,含零代码SAAS、AI编程、源码定制
  • 编译器缓存革命:Ccache如何让你的编译速度提升10倍
  • 关于优化升级2026年度江诗丹顿官方售后全渠道联络方式公告(公示服务热线、线下服务网点地址) - 亨得利腕表服务中心
  • 接口固有的竞争条件(Interface-Driven Race Conditions)
  • Ccache:编译加速器的幕后英雄,如何让开发者的等待时间减少90%
  • 智能农业检测无人机视角水稻稻穗检测数据集智慧农业水稻稻穗检测、无人机农田巡检、稻穗计数、农作物目标检测、智慧农业YOLOv11n稻穗检测、无人机航拍农业数据、密集小目标检测、PyQt5农业检测界面
  • 如何快速掌握Joplin:隐私优先的跨平台笔记应用完整指南
  • 如何快速集成GKNavigationBarViewController?3步实现导航栏联动效果
  • 2026年面试鸭开源题库系统完全指南:从零搭建到高效应用
  • 株洲防水修缮优选|筑宅安99.5高分五星品牌,专治梅雨季各类漏水难题 - 筑宅安
  • 揭秘三大虚拟定位技术:如何让iOS设备实现精准位置模拟
  • 2026西安江诗丹顿回收行情:全套附件比裸表高出两成以上,易奢福无损鉴定守护每枚时计价值 - 易奢福
  • 国内玻璃水滑道主流承建厂家盘点与参考 - 互联网科技品牌测评
  • 【2026年】通风柜自动门系统如何实现节能增效?技术与经济性双重分析
  • Obsidian Image Toolkit:如何快速解决Obsidian图片查看痛点的高效工具