只读取来自 Kafka 主题的最后一条消息
Read only last message from Kafka topic
我正在尝试通过 Kafka 主题发送视频流,并在每次消息消费之间进行一些处理。此处理大约需要 20 毫秒,因此在 100 帧之后,我会出现延迟。我可以检测到这种延迟,但是,我需要能够强制我的消费者从检测到延迟的那一刻起读取最新发送的帧。我知道这会导致跳过许多帧。
我正在使用基于 librdkafka 的 cppkafka。
我找不到能让我走上正确道路的线索,因为大多数答案要么与我的问题不同,要么使用仅存在于其他语言 API 中的概念。
有什么想法吗?
一种简单但有点粗暴的方法是检查队列中的帧数。如果高于某个上限阈值,则执行一个紧密循环,在其中 "consume" 和 丢弃 (即根本不处理)帧,直到达到下限阈值(在您的案例一)。
完成该紧密循环后,您将恢复队列的正常处理。
我正在尝试通过 Kafka 主题发送视频流,并在每次消息消费之间进行一些处理。此处理大约需要 20 毫秒,因此在 100 帧之后,我会出现延迟。我可以检测到这种延迟,但是,我需要能够强制我的消费者从检测到延迟的那一刻起读取最新发送的帧。我知道这会导致跳过许多帧。
我正在使用基于 librdkafka 的 cppkafka。
我找不到能让我走上正确道路的线索,因为大多数答案要么与我的问题不同,要么使用仅存在于其他语言 API 中的概念。
有什么想法吗?
一种简单但有点粗暴的方法是检查队列中的帧数。如果高于某个上限阈值,则执行一个紧密循环,在其中 "consume" 和 丢弃 (即根本不处理)帧,直到达到下限阈值(在您的案例一)。
完成该紧密循环后,您将恢复队列的正常处理。