卡夫卡背压

时间:2018-04-05 02:52:00

标签: apache-kafka spark-streaming backpressure

我在Kafka遇到一种情况,即生产者以比消费者消费率高得多的速度发布消息。我必须在kafka中实施背压实施,以便进一步消费和处理。

请让我知道如何在spark和普通的java api中实现。

2 个答案:

答案 0 :(得分:4)

卡夫卡在这里担任监管者。你以任何你想要的速度生产到Kafka,扩展经纪人以适应摄取率。然后你可以随心所欲地消费; Kafka持久保存数据并跟踪消费者在他们阅读的数据中的偏移量。

答案 1 :(得分:0)

您可以在使用者上禁用enable.auto.commit=false的自动提交,并仅在使用者操作完成时提交。这样消费者会很慢,但Kafka知道消费者处理了多少消息,同时使用max.poll.interval.ms配置轮询间隔,并且使用max.poll.records在每次轮询中消费的消息应该是好的。