Java Kafka 简单示例

Kafka java 示例 我们学习了如何在Linux中安装Kafka。我们还知道如何在命令行中运行生产者和消费者。在本教程中,我将向您展示使用apache kafka客户端生成和使用消息。订阅主题(名为test)。当消费者从Kafka获得消息时,它将打印到日志中。对于消费者,我们用于。Kafka Java示例。生产者中最重要的代码行是。此行代码将消息发送到。 阅读详情

Java Kafka 简单示例


简介

    Java kafka 简单代码示例

maven依赖配置

<!-- kafka -->
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>0.11.0.0</version>
</dependency>

kakfa生产和消费者生成

import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.apache.kafka.clients.consumer.KafkaConsumer;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;

import java.util.*;

/**
 * @author lw1243925457
 */
public class KafkaUtil {

    public static KafkaConsumer<String, String> createConsumer(String servers, String topic) {
        Properties properties = new Properties();
        properties.put("bootstrap.servers", servers);
        properties.put("group.id", "group-1");
        properties.put("enable.auto.commit", "false");
        properties.put("auto.commit.interval.ms", "1000");
        properties.put("auto.offset.reset", "earliest");
        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");

        KafkaConsumer<String, String> kafkaConsumer = new KafkaConsumer<String, String>(properties);
        kafkaConsumer.subscribe(Arrays.asList(topic));
        return kafkaConsumer;
    }

    public static void readMessage(KafkaConsumer<String, String> kafkaConsumer, int timeout) {
        while (true) {
            ConsumerRecords<String, String> records = kafkaConsumer.poll(timeout);
            for (ConsumerRecord<String, String> record : records) {
                String value = record.value();
                kafkaConsumer.commitAsync();
                System.out.println(value);
            }
        }
    }

    public static KafkaProducer<String, String> createProducer(String servers) {
        Properties properties = new Properties();
        properties.put("bootstrap.servers", servers);
        properties.put("acks", "all");
        properties.put("retries", 0);
        properties.put("batch.size", 16384);
        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");
        return new KafkaProducer<String, String>(properties);
    }

    public static void send(KafkaProducer<String, String> producer, String topic, String message) {
        producer.send(new ProducerRecord<String, String>(topic, message));
    }
}

运行

public class Main {

    public static void main(String[] args) {
        String servers = "localhost:9092,localhost:9093,localhost:9094";
        String topic = "TestTopic";
        String message = "test";

        KafkaProducer<String, String> producer = KafkaUtil.createProducer(servers);
        KafkaUtil.send(producer, topic, message);

        KafkaConsumer<String, String> consumer = KafkaUtil.createConsumer(servers, topic);
        KafkaUtil.readMessage(consumer, 100);
    }
}

使用心得

总是读取最老的消息

    可能是group-id的问题,新起一个group-id名称

  • earliest:当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费
  • latest:当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据
  • none:topic各分区都存在已提交的offset时,从offset后开始消费;只要有一个分区不存在已提交的offset,则抛出异常

参考链接

Java操作Kafka Kafka的介绍 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 Kafka 有如下特性: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间复杂度的访问性能。 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条以上消息的传输。 支持Kafka Server间的消息分区,及分布式消费,同时保证每个Partition内的消息顺序传输。 同时支持离线数据处理和实时数据处理。 Scale out:支持在 阅读详情

相关推荐

【kafka】java使用jmx 监控Kafka

1.概述 想使用java jmx监控kafka,关于jmx相关的概念请参考 【Java】java jmx 入门案例 进阶版参考:【Spring】SpringBoot 如何使用JMX 2.kafkal开启Jmx 首先开启kafka端口 linux下 if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" export JMX_PORT="9999" fi window下参考“:【Kafka】.

九师兄 1680

Kafka Java示例

由于项目原因需要升级kafka,需要重新申请kafka服务,用新的Java API来编写producer和consumer,顺便接触一下Kafka。准备工作就是安装zookeeper和kafka,由于关于安装方面的文章很多,在此就不细说了。 一、一些问题 1.1 kafka错误 错误: WARN Error while fetching metadata with correlatio

懂幸福,爱生活 6859

一文带你看懂SAP-HANA的基本架构与原理

创作不易,希望大家一键三连支持!!!♥♥♥创作不易,希望大家一键三连支持!!!♥♥♥创作不易,希望大家一键三连支持!!!♥♥♥。

丷江南南的博客 5072

Java对接kafka简单示例

下面是一个简单的示例代码,展示了如何使用Java对接Kafka并发送和接收消息: 首先,确保已经在项目中添加了kafka-clients库的依赖。请注意,上面的示例使用了Kafka的2.8.0版本,你可以根据实际情况选择合适的版本。添加依赖后,你可以在你的Java代码中使用Kafka的API,如上面的示例代码所示。然后,你可以在你的Java代码中使用Kafka的API来对接Kafka。这样,你就可以使用Maven管理你的项目的依赖,并使用Kafka的API对接Kafka。

牛肉胡辣汤 2251

从真题到策略:浙江工业大学计算机转专业机试全解析与备考指南

本文全面解析浙江工业大学计算机转专业机试的考试概况、典型真题和高频考点,提供详细的备考策略和面试准备建议。从机试题目类型到解题技巧,帮助考生高效备考,顺利通过这一竞争激烈的转专业关卡。

weixin_42524824的博客 419

卫星载荷应用方案

本文将从技术和应用层面探讨卫星载荷的应用方案,分析各个领域的特点和挑战,以期为卫星载荷的应用提供一定的指导和参考。卫星载荷应用方案涵盖了通信、地球观测、气象预报、导航定位等诸多领域在每一个领域中,都存在着不同的技术挑战和应用需求。随着技术的进步和需求的变化,卫星载荷应用方案将不断发展和完善,为人类社会的进步和发展做出更大的贡献。用户可以通过接收多颗卫星的信号,计算自身的位置和速度信息。在覆盖扩展方面,可以采用多星座、MEO、GEO 等不同轨道高度的卫星布局,结合卫星的特点和应用需求,实现覆盖范围的扩展。

muyangjun的专栏 904

kafka java示例,kafka java示例

1) Producer端使用zookeeper用来"发现"broker列表,以及和Topic下每个partition leader建立socket连接并发送消息.2) Broker端使用zookeeper用来注册broker信息,已经监测partition leader存活性.3) Consumer端使用zookeeper用来注册consumer信息,其中包括consumer消费的partitio...

weixin_42516581的博客 640

CRC校验查表法详解

CRC校验的查表法理解算法原理基础计算查表法原理及计算查表法中的表CRC校验中数据逆序CRC校验中的其它参数 算法原理 CRC(Cyclic Redundance Check)循环冗余校验,是基于某个多项式计算出一组校验码,用于核对数据传输过程中是否被更改或传输错误 基础计算 假设需要检验的数据 g :10100111,这串二进制码可以表示为代数多项式g(x) = x^7 + x^5 + x^2 + x +1, 而作为除数的多项式 h(x) 可以自由选择或者按照国际标准选择,一般h(x)的阶数如果是m

boom的博客 1万+

Java实现Kafka生产者和消费者的示例(1),mysqlsql语句面试题

RecordMetadata recordMetadata = null; try { //将消息发送到Kafka服务器的名称为“one-more-topic”的Topic中 recordMetadata = kafkaProducer.send(new ProducerRecord<>(“one-more-topic”, uuid)).get(); log.info(“recordMetadata: {}”, recordMetadata); log.info(“uuid: {}”, uuid

m0_64383736的博客 1189

ComfyUI节点流实战:用Wan2.1制作电商短视频全流程(附人物/商品模板)

本文提供了一份详尽的ComfyUI实战教程,指导用户如何利用通义万相Wan2.1图生视频模型,高效制作适用于抖音等平台的电商短视频。内容涵盖从环境部署、核心工作流搭建,到针对服装、3C数码等品类的高级提示词模板与参数调优,旨在帮助电商从业者快速生成高质量、高保真商品展示视频,显著提升内容生产效率。

potato的博客 1279

电路设计仿真软件:Mentor Graphics_(1).MentorGraphics电路设计仿真软件概述

菜单栏:包含文件、编辑、视图、工具等菜单。工具栏:提供常用的工具按钮,如打开、保存、仿真等。原理图编辑区:用于绘制电路原理图。元件库:包含各种电路元件,支持拖拽操作。属性面板:显示选中元件的属性,可以进行参数设置。仿真控制区:用于设置仿真参数和控制仿真过程。输出窗口:显示仿真结果和日志信息。打开模型编辑器:点击“工具”菜单,选择“模型编辑器”。选择模型类型:在模型编辑器中选择模型类型,如SPICE模型。输入模型参数:根据需要输入模型的参数,如电阻值、电容值等。保存模型。

kkchenjj的博客 1922

Kafka示例(Java版)

Kafka示例(Java版)

qq_43588909的博客 3996

2. Android_逆向的历史与发展

学完本节,希望你能够:了解 Android 逆向工程的发展历程,从早期 APK 破解到现代应用保护;入门先把这几类「在干啥」搞清楚,后面学脱壳、反反调试会顺很多。(反编译 APK 得到的类汇编代码,相当于程序的「菜谱」)就能绕过验证,到后来混淆、加固、反调试一起上,逆向难度越来越高。(第三节 什么是 CPU 指令集),帮你搞清楚「反汇编看到的那些指令」是从哪来的、和 Android 逆向有啥关系。有必要——先搞清「没加固时怎么玩」,再学脱壳和对抗,思路才顺。读起来费劲,但逻辑还在,耐心一点还能跟。

长沙火山 1389

kafka java示例

kafka java示例 分类:hadoop 2014-02-13 14:34 9616人阅读 评论(1) 收藏 举报 我使用的kafka版本是:0.7.2 jdk版本是:1.6.0_...

chongxungu8275的博客 216

大数据领域数据采集的人工智能辅助技术

在大数据时代,“数据是石油”的隐喻早已深入人心,但采集高质量数据的过程却像“在大海里捞针”——数据源分散如繁星、格式杂乱如碎片、质量参差不齐如泥沙,传统采集方法(写死的脚本、固定的ETL流程)早已力不从心。这篇文章将带你走进AI辅助数据采集的世界:我们会用“智能捕鱼船”的比喻拆解AI如何解决传统采集的痛点,深入解析“数据源自动发现”“自适应数据解析”“实时质量管控”等核心技术的原理,用代码示例还原AI采集的真实流程,最后探讨多模态采集、联邦学习等未来趋势。

小程序开发 2354

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

java中 kafka简单应用

ApiModelProperty("接收者(根据 receiverType 来传参) 到人:用户 ID 到部门:部门 Code 到角色:角色 Code ")@ApiModelProperty("消息来源来源的业务系统(1:数字网格+、2:政法平安、3、事件分拨、 4、决策分析、5、三级工作平台)")@ApiModelProperty("消息类型(0 普通、1 预警、2 待办、 3 公告) 5 领导批示 6 领导关注")@ApiModelProperty("消息等级(0 一般、1 紧急)")

HUHAO987654321的博客 1058

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

java kafka demo_java Kafka 简单应用实例

1、安装zookeeper下载zookeeper-3.4.9.tar;解压tar -zxvf zookeeper-3.4.9.tar;进入zookeeper-3.4.9/conf目录创建zoo.cfg文件,内容如下:tickTime=2000dataDir=/usr/myenv/zookeeper-3.4.8/data(填写自己的data目录)dataLogDir=/usr/myenv/zooke...

weixin_32102617的博客 435

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

java kafka使用

是一款结合了目前Kafka监控工具的特点,重新研发的一块开源免费的Kafka集群优秀的监控工具在启动Kafka的脚本前,添加export JMX_PORT=9988上传解压,配置环境变量vim /etc/profile配置vim conf/system-config.properties#修改第4行,配置kafka集群别名#修改第5行,配置ZK集群地址#修改第64行,打开图标统计#修改第122行,开启mysql启动。

wste3567的博客 2194

安装配置Kafka,并使用Java集成Kafka

Kafka 是Java 语言编写的,因此需要在安装 Kafka 之前先安装 Java 运行环境。Kafka 支持 Java 8 及以上版本。可以通过以下命令检查 Java 运行环境的版本Kafka 的运⾏环境依赖于 ZooKeeper,Kafka 使用 ZooKeeper 进行分布式协调,因此在安装 Kafka 之前,需要先安装 ZooKeeper。

m0_73799407的博客 4318

Kafka学习-Java使用Kafka

Kafka是Apache旗下的一款分布式流媒体平台,Kafka是一种高吞吐量、持久性、分布式的发布订阅的消息队列系统。它被广泛应用于实时数据流处理、日志收集和处理以及消息队列等场景。本文将深入介绍Kafka的概念、原理、作用和应用场景。

weixin_49832841的博客 8243

kafka java_kafka java使用

首先添加maven依赖Kafkaorg.apache.kafkakafka_2.100.8.2.2Springorg.springframeworkspring-context4.1.4.RELEASEorg.springframeworkspring-beans4.1.4.RELEASEorg.springframeworkspring-core4.1.4.RELEASEKafka APIcom...

weixin_42501949的博客 710

java afka_Java Kafka 简单示例

Java Kafka 简单示例简介Java kafka 简单代码示例maven依赖配置org.apache.kafkakafka-clients0.11.0.0kakfa生产和消费者生成import org.apache.kafka.clients.consumer.ConsumerRecord;import org.apache.kafka.clients.consumer.ConsumerRe...

weixin_40007016的博客 168

Java连接Kafka示例

1、引入依赖 <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka_2.12</artifactId> <version>2.1.0</version> <scope>provided</scope>

小诸葛的博客 3604

利用java简单调用kafka

我之前的一篇文章简单的介绍了kafka,原理,配置以及搭建,这篇文章主要将利用java使用kafka。 简单的几个名词: Producer :消息生产者,向broker发消息的客户端。 Consumer :消息消费者,向broker取消息的客户端 Topic :一个队列,主题。Message:消息是kafka处理的对象,在kafka中,消息是被发布到broker的topic中。而consum

妙妙的博客 1902

Kafka 简单部署及Java测试

Kafka 简单部署及Java测试快速部署Java 实践 快速部署 资料来源:https://kafka.apache.org/quickstart 下载 https://kafka.apache.org/downloads 实践: > https://www.apache.org/dyn/closer.cgi?path=/kafka/2.2.0/kafka_2.12-2.2.0.tg...

晨猫 1166
上一篇: Windows10 Kafka Docker 集群搭建
下一篇: Spring boot Rabbitmq 示例
_萧_
博客等级 码龄10年 55粉丝 157原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值