【发布时间】:2018-09-29 12:56:17
【问题描述】:
我们构建了一个自定义的 Kafka Connect 接收器,该接收器又调用一个远程 REST API。如何将背压传播到 Kafka Connect 基础架构,以便在远程系统比内部消费者向 put() 传递消息的速度慢的情况下调用 put() 的频率降低? Kafka 连接文档说我们不应该在 put() 中阻塞,而是在 flush() 中阻塞。但是在 put() 中不阻塞意味着我们必须缓冲数据,这肯定会在某些时候导致 OOM 异常,如果 put() 比 flush() 更频繁地调用。 我已经看到允许 kafka 消费者调用 pause() 或在 loop() 中阻塞。是否可以在 kafka 连接接收器中利用这一点?
【问题讨论】:
标签: apache-kafka apache-kafka-connect