Kafka篇——SpringBoot中使用Kafka,详细的集成和简单生产消费流程流程,常见消息配置,黄金文档!

集成和简单生产消费流程

一、引入依赖

二、配置文件中配置Kafka
将来我们的项目大概率不会是会都扮演生产者和消费者两个角色,所以在集成Kafka的时候,生产者的项目中只配置生产者相关的配置即可,消费者项目配置消费者的相关的配置即可

三、编写生产者代码
为了简化演示,直接将业务层代码写到了控制层,见谅哈!

四、编写消费者

注意:如果不调用手动提交offset这个方法,那么会产生消息重复消费的问题

五、调用生产者的接口,观察消费者是否正常消费到消息
1、调用生产者接口

2、观察控制台消费者
可以看到生产者发送了消息,消费者立刻就拿到了消息!

消费消息细节配置

一、指定Broker的主题和分区,控制消费者数量和消费偏移量

二、在配置文件中配置监听的配置
一般listener都得在配置文件中进行配置,推荐使用下图中的配置方式,搭配上面业务代码中手动提交offset。
这样的优势是消费者每处理1条消息,就更新offset。而不是一次性poll500条消息,等待都处理完才提交offset

至此,关于Springboot集成Kafka介绍完毕,详细的配置后续还会持续的更新,希望大家能够持续关注!

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在 Spring Boot 使用 Kafka 消费者,可以通过添加 `spring-kafka` 依赖来轻松地集成 Kafka。以下是使用 Spring Boot 配置 Kafka 消费者的步骤: 1. 添加 `spring-kafka` 依赖项,例如,在 Maven : ```xml <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> <version>2.7.2</version> </dependency> ``` 2. 在 `application.properties` 或 `application.yml` 文件配置 Kafka 服务器和消费者组: ```properties spring.kafka.consumer.bootstrap-servers=localhost:9092 spring.kafka.consumer.group-id=my-group ``` 3. 创建 Kafka 消费配置类: ```java @Configuration @EnableKafka public class KafkaConsumerConfig { @Value("${spring.kafka.consumer.bootstrap-servers}") private String bootstrapServers; @Value("${spring.kafka.consumer.group-id}") private String groupId; @Bean public ConsumerFactory<String, String> consumerFactory() { Map<String, Object> props = new HashMap<>(); props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); props.put(ConsumerConfig.GROUP_ID_CONFIG, groupId); props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class); props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class); return new DefaultKafkaConsumerFactory<>(props); } @Bean public ConcurrentKafkaListenerContainerFactory<String, String> kafkaListenerContainerFactory() { ConcurrentKafkaListenerContainerFactory<String, String> factory = new ConcurrentKafkaListenerContainerFactory<>(); factory.setConsumerFactory(consumerFactory()); return factory; } } ``` 在上面的代码,`ConsumerFactory` 和 `ConcurrentKafkaListenerContainerFactory` 是 Spring 提供的用于配置 Kafka 消费者的工厂类。`consumerFactory()` 方法用于创建一个 Kafka 消费者工厂,`kafkaListenerContainerFactory()` 方法用于创建一个 Kafka 监听器容器工厂。这里使用的是默认的字符串反序列化器,如果需要使用其他类型的反序列化器,可以替换 `StringDeserializer`。 4. 创建 Kafka 消费者监听器: ```java @Service public class KafkaConsumerService { @KafkaListener(topics = "my-topic", groupId = "my-group") public void listen(String message) { System.out.println("Received message: " + message); } } ``` 在上面的代码,`@KafkaListener` 注解用于将方法标记为 Kafka 消息监听器,`topics` 属性指定要监听的主题,`groupId` 属性指定消费者组的 ID。 这就是在 Spring Boot 配置 Kafka 消费者的基本步骤。通过以上步骤,您可以轻松地创建一个 Kafka 消费者,以便从 Kafka 主题读取消息

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Be explorer

若认可笔者文章,手头富裕盼支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值