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

全局有序

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

分区有序

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

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

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

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

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

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

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

相关推荐
winfield82114 小时前
Kafka 线上问题排查完整手册
kafka
在未来等你16 小时前
Kafka面试精讲 Day 16:生产者性能优化策略
大数据·分布式·面试·kafka·消息队列
free1 天前
基于librdkafa C++客户端生产者发送数据失败问题处理#2
c++·kafka
不吃饭的猪1 天前
kafka启动小脚本
分布式·kafka
潘达斯奈基~2 天前
kafka:【2】工作原理
大数据·分布式·kafka
励志成为糕手2 天前
Kafka架构:构建高吞吐量分布式消息系统的艺术
分布式·架构·kafka·消息中间件·数据流处理
潮落拾贝2 天前
k8s部署kafka三节点集群
容器·kafka·kubernetes
在未来等你2 天前
Kafka面试精讲 Day 12:副本同步与数据一致性
大数据·分布式·面试·kafka·消息队列
echoyu.2 天前
消息队列-kafka完结
java·分布式·kafka