gpt4 book ai didi

apache-kafka - 通过 Kafka 消费者重试维护订购保证

转载 作者:行者123 更新时间:2023-12-05 01:42:36 31 4
gpt4 key购买 nike

我正在为基于 Kafka 的数据处理管道中的消费者重试提出一个架构。我们正在使用 Kafka 生产者和消费者,并且正在考虑重试主题,如果他们在消费时出错,将在哪些主题上发送消息。会有消费者以一定的节奏在这些重试主题上运行。

我阅读了很多引用架构,但没有一个提到如何在消息消费失败时保持顺序保证。让我举个例子:

我们的 Kafka 消息包含具有对象和操作类型(可以是 CREATE/UPDATE/DELETE)的有效负载。我们根据 object_id 对消息进行分区,以确保对该对象的操作是有序的。但是,如果消息消费失败,您是否应该自动将具有相同 object_id 的后续消息标记为失败,甚至不尝试处理它们?你如何保持这种状态?

是否有任何引用架构可以解决这个问题?

最佳答案

是的,您需要有一种机制,如果一条具有相同 object_id 的消息失败并进行重试,那么所有具有相同 object_id 的后续消息也将直接进行重试。

我建议使用缓存来协调这一点 - 每当消息要重试时,增加 object_id 键。同样,每当从重试主题成功消费消息时,递减 key 。

现在,你只需要在尝试消费消息前,检查是否存在与object_id对应的>0值的key,如果存在,则直接发送重试。

关于apache-kafka - 通过 Kafka 消费者重试维护订购保证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51491659/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com