Spring Boot整合Kafka

Spring Boot 整合 Apache Kafka 前言 由于本文主要简介 Spring Boot 整合 Apache Kafka,因此默认读者已经成功安装并已启动 Apache Kafka 服务。 正文 添加依赖 在生产者和消费者项目中添加 spring-kafka 依赖,如下: <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> &l 阅读详情

简介

使用背景

由于新下发需求中,要求将信息封装,再以生产者的形式吐到kafka中,去供消费者服务使用,所以学习一下springboot项目整合kafka。

简介

Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。

Spring Boot整合Kafka

安装kafka

环境准备:centos7虚拟机
由于kafka依赖于zookeeper,所以在安装kafka之前,需要安装zookeeper。网上随便找一篇参考安装即可。
安装过程:
1.官网下载kafka压缩包文件,我使用的是kafka_2.11-2.4.1.tgz。
2.下载后解压,设置日志目录,并且修改配置文件信息并修改外部访问。
3.启动并查看是否成功运行。

./kafka-server-start.sh /usr/local/kafka/kafka_2.11-2.4.1/config/server.properties
[root@zookeeper ~]# jps
123300 Jps
121821 Kafka
114702 QuorumPeerMain
107262 CommunityEntryPoint
[root@zookeeper ~]# 

创建Spring Boot项目并添加依赖

源码地址

		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka</artifactId>
            <version>2.5.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
        </dependency>

修改配置,添加kafka相关

# kafka
spring.kafka.bootstrap-servers=192.168.1.106:9092
spring.kafka.consumer.group-id=group1

创建producer

提供简单的发送方法,来推送消息。

@Component
public class KafkaProducerConfig {
    @Autowired
    private KafkaTemplate kafkaTemplate;

    private String topic="myKafkaTest";
    //发送
    public void send(String str){
        kafkaTemplate.send(topic,str);
    }

}

创建consumer

提供简单的接收方法,来处理消息。

@Component
public class KafkaConsumerConfig {
    @KafkaListener(topics = { "myKafkaTest" } )
    //接收
    public void receive(ConsumerRecord consumerRecord){
        Optional<?> kafkaMessage = Optional.ofNullable(consumerRecord.value());
        System.out.println("received...." + kafkaMessage);

        if (kafkaMessage.isPresent()) {
            Object msg = kafkaMessage.get();
            System.out.println("received message is :" + msg);
        }
    }
}

测试验证

因为是简单实现,所以直接添在主类进行消息初始化,在init方法中发送消息。

@SpringBootApplication
public class SpringkafkatestApplication {
    @Autowired
    private KafkaProducerConfig kafkaProducerConfig;
    @PostConstruct
    public void init(){
        for (int i = 0; i < 10; i++) {
            kafkaProducerConfig.send("send message : " +  i);
            System.out.println("message send success ...."  );
        }
    }

    public static void main(String[] args) {
        SpringApplication.run(SpringkafkatestApplication.class, args);
    }

}

程序启动后,查看控制台输出:
会打印一些关于kafka的配置信息,在所有信息加载后,可以看到消息发送情况。
在这里插入图片描述
在这里插入图片描述

Spring Boot整合Kafka详细指南(JDK 1.8) Spring Boot 是一个用于简化Spring应用开发的框架,它提供了自动配置、内嵌服务器、依赖管理等功能,让开发者能够快速构建应用。 阅读详情

相关推荐

springboot集成kafka0.10.0.1并发送邮件项目

springboot集成kafka0.10.0.1 实现监听topic 接收消息发送到指定邮箱里,并往topic中发送消息的一个小项目。

【Java】Springboot整合Kafka配置Kerberos/GSSAPI认证

前提 测试环境的kafka升级了,现在连接需要有KRB/GSSAPI认证,并进行相应的权限管理。 kafka集群版本:2.1.0.0 pom文件的springboot版本:2.0.8.RELEASE, kafka版本:2.1.7.RELEASE 需要的配置文件 kafka_client_jaas.conf krb5.conf user.keytab 其中user.keytab、krb5.conf文件需要自己根据kafka server的配置生成。 kafka_client_jaas.conf如下: Ka

开染坊的白猫 7429

FPGA:将FIFO封装成AXI接口的IP

封装AXI_stream的接口IP核

m0_46830519的博客 4214

kerberos整合kafka、springboot

文章目录一、背景:二、kerberos整合kafka三、kerberos整合java+kafka四、kerberos整合springboot+kafka 一、背景: 在192.168.248.100的主机上搭建kafka服务器,需要做kafka访问的一个安全验证! 本文是建立在kerberos服务器已经搭建的情况下,搭建教程: https://blog.youkuaiyun.com/weixin_40496191/article/details/124056421 二、kerberos整合kafka kerbero

weixin_40496191的博客 6453

GitLab教程(四):分支(branch)和合并(merge)

命令进行合并时,Git具备一定的智能自动化处理能力:如果一个分支仅修改了文件A,而另一个分支独立地修改了文件B,Git能够无缝整合这些更改,自动完成合并过程——即最终的代码既包含了对A文件的修改也包含了对B文件的修改。同样地,若两个分支虽然都修改了同一个文件,但涉及的是文件中互不重叠的部分,比如一个改动发生在第一行,另一个则在第二行,Git同样能巧妙地自动合并这些非冲突性修改。获取了远程分支的最新变化,或者当你想要合并本地的一个分支到当前分支时,就会用到这个命令。,默认会尝试合并远程分支到当前分支。

TracyCoder的博客 7885

k最近邻算法——电影分类及案例详解

如图3-7所示,若将国际象棋棋盘放在二维直角坐标系中,格子的边长定义为1,坐标的x轴及y轴和棋盘方格平行,原点恰落在某一格的中心点,则王从一个位置走到其他位置需要的步数恰为二个位置的切比雪夫距离,因此切比雪夫距离也称为棋盘距离。关于这里的距离度量,这个电影分类的例子有2个特征,也就是2维的,可以使用我们高中学过的两点距离公式(两点距离公式其实就是欧氏距离在二维空间上的公式,也就是欧氏距离n的值为2的情况,欧氏距离也称为欧几里德距离)来计算距离,如图3-3所示。对数据进行归一化,避免量纲对计算距离的影响。

ZhShy 4553

连接kafka通过krb

sprinboot acl认证连接kafka服务器 krb5、jaas、acl认证

qq_57697356的博客 1090

DaVinci Configurator BswM模块配置

BswM是AUTOSAR(Automotive Open System Architecture)系统架构中的模块之一,它是基础软件模块(BSW)之一。BswM全称为Basic Software Module Manager(基础软件模块管理器),它负责管理和协调其他BSW模块的行为和交互,以实现整个系统的功能。BswM可以被看作是一个状态机,通过监控系统的状态和事件触发,来控制其他BSW模块的运行状态和互相配合,以达到整个系统的预期行为。

qq_59258431的博客 3944

kafka整合kerberos、springboot

教程:https://blog.youkuaiyun.com/weixin_40496191/article/details/124056953

weixin_52705369的博客 783

MT6816磁编码器在无人机电调中的实战应用:从选型到调试全记录

本文详细介绍了MT6816磁编码器在无人机电调系统中的实战应用,涵盖选型、硬件集成、软件配置到飞行测试的全流程。通过对比霍尔传感器和光电编码器,突出MT6816在角度分辨率、安装公差和抗振动能力等方面的优势,为无人机动力系统提供高精度控制解决方案。

pandas7gardener的博客 233

云计算学习——5G网络技术

华为eNSP网络设备模拟器的基础安装及简单使用

qq_42520799的博客 1443

Springboot 配置使用 Kafka

不多BB讲原理,只教你怎么用,看了全网没有比我更详细的了,yml 配置,Config 工厂代码配置都有,batch-size、acks、offset、auto-commit、trusted-packages、poll-timeout、linger 应有尽有,批量消费、开启事务、定义批量消费数量、延时发送、失败重试、异常处理你还想要什么As we all know,当今世界最流行的消息中间件有 RabbitMq、RocketMq、Kafka,其中,应用最广泛的是RabbitMq,RocketMq。

泡泡的博客 1万+

MATLAB代码实现了一个柱塞泵配流盘过流面积的计算和可视化功能

该MATLAB代码实现了一个柱塞泵配流盘过流面积的计算和可视化功能。输出曲线可直接用于验证设计的合理性(如是否存在过流面积突变或不足)。的不同范围,选择对应的几何模型计算过流面积。通过分段逻辑计算柱塞腔在不同旋转角度(过流面积在特定条件下会被限制(如。),确保结果符合物理实际。条件分支,根据旋转角度。

huanghm88的专栏 581

Spring Boot 中整合 Kafka

通过以上步骤,我们成功地在 Spring Boot 中整合了 Kafka,并实现了消息的生产和消费。Spring Kafka 提供了简单易用的 API,使得我们可以轻松地与 Kafka 进行交互。你可以根据实际需求进一步扩展和优化这个示例。在 Kafka 中,消费者消费消息失败后是否重新入队(重回队列)取决于消费者的配置和处理逻辑。Kafka 本身并没有直接提供“消费失败重回队列”的功能,但可以通过一些策略来实现类似的效果。

qq_43197840的博客 1848

CloudCompare 二次开发(9)——半径滤波

基于PCL对CloudCompare软件进行二次开发,实现的算法功能是半径滤波

点云侠的博客 1399

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Spring Boot 整合 Kafka 详解

本文详细介绍了如何在 Spring Boot 项目中整合 Apache Kafka,包括 Kafka 的配置、消息的同步和异步发送。通过理解和实践这些内容,可以帮助你更好地掌握 Spring Boot 与 Kafka 的整合与应用。希望本文对你有所帮助,如有任何疑问或建议,欢迎留言讨论。

Java领域优秀创作者 2871

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Kafka 整合 Spring Boot

博文目录 文章目录pom.xmlapplication.ymlApplicationKafkaConsumer pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="

mrathena 412

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

spring boot 之 整合 kafka

spring boot 整合 kafka

我叫晨曦啊的博客 2205

Spring Boot锦集(三):Spring Boot整合Kafka | Zookeeper/Kafka的安装和配置 | 总结的很详细

走前人走过的路,为后来者踩坑,带你避坑。 在整合的过程中,难免遇到磕磕碰碰,里面遇到的一些坑,基本都有标注。 本文对通过一个小案例,初步介绍了 Spring Boot对kafka的整合,完成了从Spring Boot中调用生产者(向kafka中创建主题)、消费者(消费信息)完成对kafka的调用。

血煞长虹 的专栏 5504

《Spring Boot 整合 Avro 与 Kafka》

将 Spring Boot 与 Avro 和 Kafka 整合,可以实现可靠、高效的数据传输和处理,为企业应用提供强大的支持。本文将详细介绍 Spring Boot 整合 Avro 与 Kafka 的步骤和方法,包括 Avro 的基本概念、Kafka 的安装和配置、Spring Boot 项目的创建以及整合的具体实现。在实际应用中,可以根据具体的需求进行进一步的扩展和优化,例如使用多个主题、分区和副本,提高系统的吞吐量和可靠性;使用 Avro 的高级功能,如动态模式和嵌套模式,处理复杂的数据结构;

weixin_47266126的博客 1611

Kafka核心原理与Spring Boot高效整合实战

Kafka与Spring Boot的整合,将分布式消息的复杂性封装为简洁的API和声明式配置。通过本文剖析的核心原理、实战代码与避坑经验,开发者可快速搭建高可靠、低延迟的消息系统。在微服务与事件驱动架构成为主流的今天,掌握这一技术栈,无疑为构建弹性、可扩展的系统奠定了基石。架构师提示:对于金融级场景,建议结合事务消息与幂等消费者设计,进一步保障数据一致性。可参考Kafka的机制实现。

随便写写 801

spring-boot 2.3.x 整合kafka

spring-boot 2.3.x 整合kafka 文章目录spring-boot 2.3.x 整合kafka1、查看springboot的官网,对kafka的定义2、kafka的安装(docker形式)2.1、下载zookeeper的镜像2.2、启动运行zookeeper镜像的实例2.3、下载kafka的镜像2.4、启动运行kafka的镜像实例2.5、查看启动的容器3、构建一个kafka的项目3.1、定义yml配置文件,关于kafka的参数的详细定义,可以参考3.2、定义生产者代码,通过定时器,不断写

鸭鸭的博客 3588

spring boot 2.x 系列 —— spring boot 整合 kafka

文章目录一、kafka的相关概念:1.主题和分区2.分区复制3. 生产者4. 消费者5.broker和集群二、项目说明1.1 项目结构说明1.2 主要依赖二、 整合 kafka2.1 kafka基本配置2.2 KafkaTemplate实现消息发送2.3 @KafkaListener注解实现消息的监听2.4 测试整合结果三、关于多消费者组的测试3.1 创建多分区主题3.2 多消费者组对同一主题...

黑白影的博客 5520

Spring Boot整合Kafka的详细步骤

在Spring Initializr创建一个新项目,选择需要的依赖(如Spring Web和Spring Kafka)。通过以上步骤,你可以在Spring Boot中成功集成并使用Kafka。这个依赖会自动配置Spring Kafka的相关组件。这里配置了Kafka服务器地址、消费者组、序列化器等。:从Kafka官网下载最新版本的Kafka。确认启动成功后,Kafka服务即可使用。下载并解压项目,导入到IDE中。注解监听指定主题并接收消息。解压Kafka文件后,进入。

坚持写博客,大家的关注是我前进的动力! 986

kafka 和spring boot 整合报错

kafka org.apache.kafka.common.errors.TimeoutException[Consumer clientId=consumer-1, groupId=local_test] Sending READ_UNCOMMITTED fetch for partitions [test-0] to broker在服务器上安装kafka,每次不是超市,就是报上面这个莫名其妙的...

w328074502的博客 1497
上一篇: 设计模式--中介者模式
下一篇: 设计模式--解释器模式
CodersCoder
博客等级 码龄10年 90粉丝 258原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值