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

全局有序

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

分区有序

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

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

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

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

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

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

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

相关推荐
DachuiLi1 小时前
McDonald‘s Event-Driven Architecture 麦当劳事件驱动架构
kafka
Elastic 中国社区官方博客6 小时前
如何通过 Kafka 将数据导入 Elasticsearch
大数据·数据库·分布式·elasticsearch·搜索引擎·kafka·全文检索
神秘打工猴10 小时前
Kafka 监控都有哪些?
分布式·kafka
Kobebryant-Manba11 小时前
kafka基本概念
分布式·学习·kafka
dzend15 小时前
Kafka、RocketMQ、RabbitMQ 对比
kafka·rabbitmq·rocketmq
李昊哲小课16 小时前
deepin 安装 kafka
大数据·分布式·zookeeper·数据分析·kafka
Kobebryant-Manba16 小时前
zookeeper+kafka的windows下安装
分布式·zookeeper·kafka
lucky_syq1 天前
Flume和Kafka的区别?
大数据·kafka·flume
观测云1 天前
Confluent Cloud Kafka 可观测性最佳实践
kafka·confluent
攻心的子乐1 天前
Kafka可视化工具 Offset Explorer (以前叫Kafka Tool)
分布式·kafka