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

全局有序

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

分区有序

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

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

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

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

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

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

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

相关推荐
齐木卡卡西在敲代码7 小时前
kafka的pull的依据
分布式·kafka
超级迅猛龙7 小时前
保姆级Debezium抽取SQL Server同步kafka
数据库·hadoop·mysql·sqlserver·kafka·linq·cdc
ejinxian12 小时前
MySQL/Kafka数据集成同步,增量同步及全量同步
数据库·mysql·kafka
武子康14 小时前
大数据-74 Kafka 核心机制揭秘:副本同步、控制器选举与可靠性保障
大数据·后端·kafka
程序员不迷路14 小时前
Kafka学习
分布式·kafka
bing_15815 小时前
kafka 生产者是如何发送消息的?
分布式·kafka
纪莫1 天前
Kafka如何保证「消息不丢失」,「顺序传输」,「不重复消费」,以及为什么会发送重平衡(reblanace)
kafka
BD_Marathon1 天前
Kafka文件存储机制
分布式·kafka
Aspirin_Slash2 天前
docker-compose部署kafka with kraft 配置内网公网同时访问
kafka
君不见,青丝成雪2 天前
大数据技术栈 —— Redis与Kafka
数据库·redis·kafka