首页 > 解决方案 > 加快 kafka 消费者处理,但确保事件的顺序

问题描述

我知道,如果我们有多个分区并且消费者组中的消费者数量几乎相同,那么处理速度将会加快。如果我们想维护事件的顺序并在收到事件时处理每个事件,我们如何通过多个分区和消费者来实现这一点。

在我的用例中,按顺序处理事件非常关键,否则系统将崩溃。我想使用多个分区来增加并行度,但以某种方式“让它们按顺序排列”。

标签: apache-kafkakafka-consumer-api

解决方案


最简单的答案:你不能

一旦将数据拆分到分区,就无法保证消费顺序(即使是单个消费者)。是否有任何逻辑可以将数据分片到分区中,以便必须按顺序使用的消息最终会在同一个分区中?


推荐阅读