发生错误时,Kafka 消费者如何保持严格的顺序?

How can a Kafka consumer maintain strict ordering when errors occur?

Spring for Apache Kafka supports non-blocking retries 使用 重试主题,重要的警告是重试消息的顺序保证会丢失。

Confluent 通过使用 重定向主题 .

的新概念扩充重试主题来描述 maintaining the order of retried events 的模式

是否有此模式的任何参考实现,开源(例如,使用 spring-kafka)或云供应商(例如,Confluent、MSK)?谢谢!

您不能使用非阻塞重试并保持分区内记录的严格排序。

如果您的意思是要在分区内容的子集中保持严格的顺序(例如,具有相同键的记录)。不使用非阻塞重试并显着增加分区数量更简单,以便在从失败分区读取被阻塞时可以处理其他分区中的其他记录。

尝试保持分区子集的严格排序并非易事。