kafka消息中间件Java API调用
参考: https://www.orchome.com/451Kafka集群的安装见上文本文介绍使用Java API通过kafka发送和接收消息。1. kafka客户端依赖dependency groupIdorg.apache.kafka/groupId artifactIdkafka_2.11/artifactId version1.0.1/version /dependency dependency groupIdorg.apache.kafka/groupId artifactIdkafka-clients/artifactId version1.0.1/version /dependency2 Kafka消息生产者APIpackage kafka; import java.util.Properties; import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.Producer; import org.apache.kafka.clients.producer.ProducerRecord; public class ProducerDemo { private static final String MY_TOPIC my-topic; public static void main(String[] args) { Properties properties new Properties(); // Kafka 服务器地址 properties.put(bootstrap.servers, 127.0.0.1:9092,127.0.0.1:9093); // 消息应答机制 properties.put(acks, all); // 如果请求失败生产者会自动重试我们指定是0次如果启用重试则会有重复消息的可能性 properties.put(retries, 0); properties.put(batch.size, 16384); // 默认缓冲可立即发送即便缓冲空间还没有满但是如果你想减少请求的数量可以设置linger.ms大于0 properties.put(linger.ms, 1); // 控制生产者可用的缓存总量如果消息发送速度比其传输到服务器的快将会耗尽这个缓存空间 properties.put(buffer.memory, 33554432); // 消息序列化和反序列化方法 properties.put(key.serializer, org.apache.kafka.common.serialization.StringSerializer); properties.put(value.serializer, org.apache.kafka.common.serialization.StringSerializer); // 创建并发送消息 try (ProducerString, String producer new KafkaProducer(properties)) { for (int i 0; i 100; i) { String msg Message-index- i; producer.send(new ProducerRecord(MY_TOPIC, msg)); System.out.println(Sent: msg); } } } }消息发送结果:3. Kafka消息消费者APIpackage kafka; import org.apache.kafka.clients.consumer.ConsumerRecord; import org.apache.kafka.clients.consumer.ConsumerRecords; import org.apache.kafka.clients.consumer.KafkaConsumer; import java.util.Collections; import java.util.Properties; public class ConsumerDemo { private static final String MY_TOPIC my-topic; public static void main(String[] args) { Properties properties new Properties(); // kafka 服务器地址 properties.put(bootstrap.servers, 127.0.0.1:9092); // 当前消费者所在的consumer group properties.put(group.id, group-1); // 消息消费后自动提交也可改为手动提交 properties.put(enable.auto.commit, true); // 自动提交间隔时间 properties.put(auto.commit.interval.ms, 1000); properties.put(auto.offset.reset, earliest); // 停止心跳的时间超过session.timeout.ms,那么就会认为是故障的它的分区将被分配到别的进程 properties.put(session.timeout.ms, 30000); // 消息序列化和反序列化方法 properties.put(key.deserializer, org.apache.kafka.common.serialization.StringDeserializer); properties.put(value.deserializer, org.apache.kafka.common.serialization.StringDeserializer); // 订阅 my-topic 主题的消息 KafkaConsumerString, String consumer new KafkaConsumer(properties); consumer.subscribe(Collections.singletonList(MY_TOPIC)); // 不停的获取消息并消费 while (true) { ConsumerRecordsString, String records consumer.poll(1000); System.out.println(records count: records.count()); for (ConsumerRecordString, String record : records) { System.out.printf(offset %d, key %s, value %s, record.offset(), record.key(), record.value()); System.out.println(); } } } }消息消费的结果如下

相关新闻

使用Tampermonkey油猴子给浏览器开个挂

使用Tampermonkey油猴子给浏览器开个挂

油猴简介 一、油猴是什么 油猴(Tampermonkey)是免费的浏览器扩展和用户脚本管理器, 油猴子很特别, 它本身是一个无限手套(脚本管理器), 通过安装无限宝石(脚本), 能为我们提供超神的功能!它可以应用在多款浏览器上,比如谷歌浏览器,QQ浏览器&#xff0c…

2026/10/18 9:45:15 阅读更多 →
Linux系统构建高可用水产养殖监控集群实战

Linux系统构建高可用水产养殖监控集群实战

1. Linux系统龙虾部署:从零构建高可用集群的实战指南 在海鲜批发市场的数字化改造浪潮中,我遇到了一个有趣的挑战——如何用Linux系统构建稳定可靠的龙虾养殖环境监控平台。这个被我们戏称为"Linux系统龙虾部署"的项目,本质上是通过…

2026/10/18 9:45:18 阅读更多 →
Unity UGUI一键绑定工具:基于反射与特性的自动化UI控件绑定方案

Unity UGUI一键绑定工具:基于反射与特性的自动化UI控件绑定方案

1. 项目概述:为什么我们需要一个UI控件绑定工具? 在Unity UGUI项目的日常开发中,尤其是面对动辄几十上百个UI元素的复杂界面时,最繁琐、最机械的工作之一,就是手动将场景中的UI控件(如 Button 、 Text …

2026/10/18 9:45:33 阅读更多 →

最新新闻

对话日志如何反哺模型?数据飞轮与隐私脱敏实战解析

对话日志如何反哺模型?数据飞轮与隐私脱敏实战解析

一个很现实的问题:自己搭的智能体项目跑了大半年,对话日志攒了几十万条,然后呢?直接扔给模型继续训练,肯定不行——里面全是用户随手聊的家常、甩过来的手机号邮箱、还有大量低质量的“你好”“谢谢”。我在自己维护的…

2026/10/18 19:18:19 阅读更多 →
MATLAB实现IEEE标准系统潮流计算四算法对比

MATLAB实现IEEE标准系统潮流计算四算法对比

简介:本资源是一套面向电气工程本硕博学生及科研人员的电力系统潮流计算MATLAB教学实践包,聚焦IEEE标准测试系统(9节点至300节点)的四种经典算法实现与对比分析,解决算法原理理解难、编程实现易出错、收敛性验证缺实证…

2026/10/18 19:18:19 阅读更多 →
Scrapy爬取大众点评:破解三重反爬抓取动态接口

Scrapy爬取大众点评:破解三重反爬抓取动态接口

简介:这是一份基于Scrapy框架实现的大众点评网站数据采集工具,面向Python爬虫初学者与中级开发者,解决真实业务场景中城市、分类及店铺多层级结构化数据抓取难题,尤其适配需绕过字体反爬、手动登录验证与代理配置的实战需求。资源…

2026/10/18 19:18:19 阅读更多 →
Java实现LSTM电力负荷预测:从理论到边缘部署

Java实现LSTM电力负荷预测:从理论到边缘部署

简介:本资源是一套基于LSTM算法实现电力负荷预测的Java项目源码,面向计算机、电气工程及相关专业本科生与研究生,适用于毕业设计、课程设计及期末大作业等实践场景。项目难度适中、结构清晰、注释完整,配套说明文档详实&#xff0…

2026/10/18 19:18:19 阅读更多 →
蛇形矩阵算法详解:回字形与S形实现及边界控制技巧

蛇形矩阵算法详解:回字形与S形实现及边界控制技巧

1. 蛇形矩阵到底是什么,为什么值得单独拎出来讲蛇形矩阵这个题,在算法练习平台里属于那种“看起来简单、写起来卡壳、写完还想再优化”的经典题型。我第一次碰到它的时候,心里想的是:不就是把数字按顺序填进一个方格吗&#xff1f…

2026/10/18 19:18:19 阅读更多 →
MarkEzd.dll二次开发全攻略:激光打标机与自动化产线集成

MarkEzd.dll二次开发全攻略:激光打标机与自动化产线集成

简介:一套面向激光打标行业开发者与 C# 工程师的 EZCAD 二次开发资源包。EZCAD 是工业激光标记场景下的常用上位机软件,支持图形编辑、文字处理、条形码/二维码生成与序列号递增;EZCAD2 在界面友好度、图形处理能力与自动化流程上进一步升级。…

2026/10/18 19:17:19 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →