我想在我的 Flink 工作中限制 Kafka 消费者。
查看 Flink 1.12 的源代码,我发现 FlinkConnectorRateLimiter
和 GuavaFlinkConnectorRateLimiter
.但是我找不到任何将这个速率限制器连接到 FlinkKafkaConsumer
的东西.
如何在 Flink 1.12 中实现 Kafka 的速率限制?
最佳答案
FlinkConnectorRateLimiter
可用于旧版 Kafka 消费者 (flink-connector-kafka-0.10),后者在 Flink 1.12 中被删除。当前的 kafka 消费者不提供速率限制。
请参阅此邮件列表线程 -- http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Kafka-Rate-Limit-in-FlinkConsumer-td36417.html - 一些讨论。简而言之,一旦对背压和事件时间偏差下的检查点进行的改进完成后,速率限制应该不再具有任何吸引力,因此实际上没有任何兴趣增加对速率限制的支持。
但是,上面的邮件列表线程确实包含一个示例,展示了如何通过扩展 FlinkKafkaConsumer
自己为 Kafka 实现速率限制。覆盖 emitRecord
和 emitRecordWithTimestamp
.
关于apache-flink - 如何在 flink 上使用 Ratelimiter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65227642/