kafka消息监听

1,
spring配置kafka网址

2,listener

java 复制代码
@Component
public class OrderMsgListener {

    @KafkaListener(topics = "order",groupId = "order-service")
    public void listen(ConsumerRecord record){
        System.out.println("收到消息:"+record); //可以监听到发给kafka的新消息,以前的拿不到
    }

    @KafkaListener(groupId = "order-service-2",topicPartitions = {
            @TopicPartition(topic = "order",partitionOffsets = {
                    @PartitionOffset(partition = "0",initialOffset = "0")
            })
    })//这一块注解表示可以监听kafka之前的消息
    public void listenAll(ConsumerRecord record){
        System.out.println("收到partion-0消息:"+record);
    }
}

groupId表示分组,不同组的消费者不是竞争关系

3,

java 复制代码
@KafkaListener(groupId = "order-service-2",topicPartitions = {
            @TopicPartition(topic = "order",partitionOffsets = {
                    @PartitionOffset(partition = "0",initialOffset = "0")
            })
    })

这段代码使用了Spring Kafka提供的注解@KafkaListener来定义一个Kafka消费者。具体的配置如下:

  1. groupId = "order-service-2":指定该消费者所属的消费者组ID,即"order-service-2"。
  2. topicPartitions:表示要订阅的主题和分区信息,是一个数组。
  3. @TopicPartition(topic = "order", partitionOffsets = { ... }):表示订阅名为"order"主题的特定分区。
  4. @PartitionOffset(partition = "0", initialOffset = "0"):表示订阅的分区为0,并设置初始偏移量为0。

这段代码将创建一个Kafka消费者,用于订阅名为"order"的Kafka主题下的0号分区,并从初始偏移量0开始消费消息。

在实际应用中,您可能会根据需要添加其他的@TopicPartition@PartitionOffset注解可以订阅多个主题和分区,并指定每个分区的初始偏移量。

值得注意的是,上述代码是使用Spring Kafka提供的注解方式来创建Kafka消费者。通过该注解,您可以方便地定义多个消费者,并且框架会自动处理与Kafka的连接、消费消息等底层细节。

4,

主题:topics;消息是发送给某个主题

相关推荐
^辞安3 小时前
RocketMQ为什么自研Nameserver而不用zookeeper?
分布式·zookeeper·rocketmq
在未来等你5 小时前
Kafka面试精讲 Day 8:日志清理与数据保留策略
大数据·分布式·面试·kafka·消息队列
poemyang6 小时前
“你还活着吗?” “我没死,只是网卡了!”——来自分布式世界的“生死契约”
分布式
echoyu.6 小时前
消息队列-初识kafka
java·分布式·后端·spring cloud·中间件·架构·kafka
明达智控技术7 小时前
MR30分布式I/O在面机装备中的应用
分布式·物联网·自动化
JAVA学习通9 小时前
【RabbitMQ】---RabbitMQ 工作流程和 web 界面介绍
分布式·rabbitmq
cg.family10 小时前
Doris 消费kafka消息
kafka·doris
安卓开发者10 小时前
鸿蒙NEXT应用数据持久化全面解析:从用户首选项到分布式数据库
数据库·分布式·harmonyos
趴着喝可乐11 小时前
openEuler2403安装部署Kafka
kafka·openeuler
JAVA学习通13 小时前
【RabbitMQ】如何在 Ubuntu 安装 RabbitMQ
分布式·rabbitmq