消息队列-Kafka-如何进行顺序消费

全局有序

只有 1 个分区,那这个时候就是能够保证消息的顺序消费。

分区有序

如果我们还是想同时消费多个分区并且保证有序,这个时候我们需要将需要保证顺序的消息路由到同一个分区。

在发送消息的时候我们可以看到:

上面的代码定义了消息会被送到哪一个分区,我们发现起作用的是Partitioner。

继续找发现,在这里进行赋值:

我们在ProducerConfig里面可以找到只有一段,使用了默认的分区。

它底层其实就是一个MAP来存储,所有我们要想自己分区的话可以实现下面这个接口

然后指定partitioner.class为我们的class,这样就可以自定义我们的分区逻辑,这个时候把需要放到同一个分区的数据使用同样的运算逻辑放到同一个分区即可。

相关推荐
happycao1234 小时前
记一次kafka消息丢失问题排查
kafka
喜欢猪猪5 小时前
Kafka是如何保证数据的安全性、可靠性和分区的
分布式·kafka
芊言芊语5 小时前
分布式消息服务Kafka版的详细解析和配置方式
分布式·kafka
方圆师兄13 小时前
docker快速搭建kafka
docker·容器·kafka
码爸13 小时前
flink kafka sink (scala)
flink·kafka·scala
圣圣不爱学习15 小时前
阿里云kafka消息写入topic失败
阿里云·kafka
丁总学Java15 小时前
maxwell 输出消息到 kafka
分布式·kafka·maxwell
码上一元17 小时前
消息队列:如何确保消息不会丢失?
kafka·消息队列·rocketmq
懒洋洋的华3691 天前
消息队列-Kafka(概念篇)
分布式·中间件·kafka
happycao1231 天前
kafka之路-01从零搭建环境到SpringBoot集成
kafka