SpringBoot 整合 Kafka|学习笔记

简介: 快速学习 SpringBoot 整合 Kafka

开发者学堂课程【SpringBoot 实战教程  SpringBoot 整合 Kafka】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/651/detail/10819


SpringBoot 整合 Kafka


1、配置好 kafka并且成功启动在 springboot 中如何整合 kafka首先进行架包的依赖以下是 kafka 的依赖把它放入工程中创建好工程放入 pom 中版本是1.1.1。

<dependency>

<groupId>org.springframework.kafka</groupId>

<artifactId>spring-kafka</artifactId>

<version>1.1.1.RELEASE</version>

</dependency>

2、kafka 是在 linux 系统中进行安装所以需要指定它的 IP 地址端口号默认是9092,java 端访问是9092,创建全局配置文件,a pplication.yml

IP 地址是192.168.25.130全局配置:

spring:

kafka:

producer:

bootstrap-servers:192.168.25.130:9092

consumer:

group-id:springboot-group1

auto-offset-reset:earliest

3、使用 kafka 完成消息的发送,KafkaProducer,消息的发送者在 kafka 中称为 Producer。

发消息

@Component创建对象

@EnableScheduling 开启定时任务

PublicclassKafkaProducer{

@Autowired

PrivateKafkaTemplatekafkaTemplate;

sprinbootg 在启动时进行了自动配置它给创建了 Kafka 的模版对象只需要自动注入即可使用这个模版就可以实现消息发送

@Scheduled(cron="00/1****?")

使用定时任务在这个方法上使用 Scheduled每隔一秒发送一个随机生成的 uuid都是发送到同一个 topic 中

/**

*定时任务

*/

Publicvoidsend(){

{

Stringmessage=UUID.randomUUID().toString(); 

发送多个消息每个消息是不一样的用 uuid 生成的字符串作为要发送的消息

//发送消息

ListenableFuturefuture=kafkaTemplate . send("tests‘’msg)用 send 方法进行消息的发送要注意 Kafka 是基于发布订阅模式的所以都是基于 topic首先指明 topic 的名称叫 tests第二个参数是要发送的消息send 方法的返回值返回的是 ListenableFuture future 类型的所以在整合时利用 springboot 提供的模版就可以很方便的实现消息的发送

}

future.addCallback(o->System.out.println("send-消息发送成功:"+msg),

throwable->System.out.println("消息发送失败:"+msg));

}

}

把消息发送成功的结果发送到控制台用 future 提供的工程进行实现如果成功就显示消息发送成功如果出现异常就显示消息发送失败借助于 future 进行控制台的打印

4、在集成时 KafkaTemplate kafkaTemplate 依赖这个模版实现消息的发送依然是定时任务所以就不需要写 controller

5、启动查看控制台打印如果成功就会出现每隔一秒打印一次

send-消息发送成功: c978f505-d9f7-4275-a453-44f46eff65fc

send-消息发送成功: b2606521- 6326- 4b8g-a3ed-226bc2bb2ce9

send-消息发送成功: d3380009-3186-4534-9932- 6c7ab2b39c4c

send-消息发送成功: 491 73d42- 29e4-42b7-811e-c4 7bea227f0f

send-消息发送成功: 6853f301- fb28-43c3-b4f1- 76b4901c27f4

send-消息发送成功: a03dca15- f7e4-4dbe- 9f35-7c9399620a53

send-消息发送成功: 707df1 65-89f5-46d8- 98d8-b87b61934086.

中间是随机生成的 uuid 的值每隔一秒发送一次这就是在 springboot 中如何集成Kafka

相关文章
|
5月前
|
消息中间件 Java Kafka
Spring Boot整合kafka
本文简要记录了Spring Boot与Kafka的整合过程。首先通过Docker搭建Kafka环境,包括Zookeeper和Kafka服务的配置文件。接着引入Spring Kafka依赖,并在`application.properties`中配置生产者和消费者参数。随后创建Kafka配置类,定义Topic及重试机制。最后实现生产者发送消息和消费者监听消息的功能,支持手动ACK确认。此方案适用于快速构建基于Spring Boot的Kafka消息系统。
943 7
|
6月前
|
消息中间件 Java Kafka
SpringBoot使用Kafka生产者、消费者
SpringBoot使用Kafka生产者、消费者
179 10
|
7月前
|
消息中间件 Java Kafka
【Azure Kafka】使用Spring Cloud Stream Binder Kafka 发送并接收 Event Hub 消息及解决并发报错
reactor.core.publisher.Sinks$EmissionException: Spec. Rule 1.3 - onSubscribe, onNext, onError and onComplete signaled to a Subscriber MUST be signaled serially.
118 5
|
10月前
|
消息中间件 Java Kafka
什么是Apache Kafka?如何将其与Spring Boot集成?
什么是Apache Kafka?如何将其与Spring Boot集成?
516 5
|
10月前
|
消息中间件 Java Kafka
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
270 1
|
11月前
|
消息中间件 Java 大数据
大数据-56 Kafka SpringBoot与Kafka 基础简单配置和使用 Java代码 POM文件
大数据-56 Kafka SpringBoot与Kafka 基础简单配置和使用 Java代码 POM文件
215 2
|
消息中间件 开发框架 Java
掌握这一招,Spring Boot与Kafka完美融合,顺序消费不再是难题,让你轻松应对业务挑战!
【8月更文挑战第29天】Spring Boot与Kafka集成广泛用于处理分布式消息队列。本文探讨了在Spring Boot中实现Kafka顺序消费的方法,包括使用单个Partition或消息Key确保消息路由到同一Partition,并设置Consumer并发数为1以保证顺序消费。通过示例代码展示了如何配置Kafka Producer和Consumer,并自定义Partitioner。为确保数据正确性,还建议在业务逻辑中增加顺序校验机制。
562 3
|
消息中间件 Java Kafka
|
消息中间件 Kafka Java
Spring 框架与 Kafka 联姻,竟引发软件世界的革命风暴!事件驱动架构震撼登场!
【8月更文挑战第31天】《Spring 框架与 Kafka 集成:实现事件驱动架构》介绍如何利用 Spring 框架的强大功能与 Kafka 分布式流平台结合,构建灵活且可扩展的事件驱动系统。通过添加 Spring Kafka 依赖并配置 Kafka 连接信息,可以轻松实现消息的生产和消费。文中详细展示了如何设置 `KafkaTemplate`、`ProducerFactory` 和 `ConsumerFactory`,并通过示例代码说明了生产者发送消息及消费者接收消息的具体实现。这一组合为构建高效可靠的分布式应用程序提供了有力支持。
227 0
|
8月前
|
消息中间件 存储 缓存
kafka 的数据是放在磁盘上还是内存上,为什么速度会快?
Kafka的数据存储机制通过将数据同时写入磁盘和内存,确保高吞吐量与持久性。其日志文件按主题和分区组织,使用预写日志(WAL)保证数据持久性,并借助操作系统的页缓存加速读取。Kafka采用顺序I/O、零拷贝技术和批量处理优化性能,支持分区分段以实现并行处理。示例代码展示了如何使用KafkaProducer发送消息。