Kafka Streams 速率限制消耗

问题描述 投票:0回答:1

我试图根据条件限制我对某个主题的消耗率。 例如:

如果消息包含:“foo” 我希望每秒消耗不超过 5 条消息(全局 - 意味着即使我的服务器上运行着多个消费者实例)。

如果消息包含:“bar” 我希望每秒消耗不超过 2 条消息(全局 - 意味着即使我的服务器上运行着多个消费者实例)。

等等。

可以使用 KStreams(Kafka Streams)来做到这一点吗?

另一种方法是使用传统的 kafka 消费者来完成此操作,并通过在 Redis 等存储中管理状态来编码速率限制。但如果 Kafka Streams 本身就提供了这种功能,我就可以避免重新发明轮子。

apache-kafka apache-kafka-streams
1个回答
0
投票

我不认为你可以用 Kafka Streams 来做到这一点。它抽象了太多较低级别的消费者概念。对于您所描述的内容,您需要控制 Kafka Streams 运行时内“硬编码”的“poll()”行为,并且无法更改它。

© www.soinside.com 2019 - 2024. All rights reserved.