3

我需要代表一组只公开 REST API 的懒惰消费者使用消息。因此,我计划让 Sink 连接器从 Kafka 主题中获取消息并在公开的 API 上执行 HTTP POST 操作。

需要考虑的关键因素之一是节流。您建议使用什么机制来限制接收器任务以满足 API 的层 SLA。我知道 Kafka 具有客户端配额功能,但是,跟踪 API 请求/分钟或秒的最佳机制是什么,可以动态调整客户端配额?

4

1 回答 1

7

我认为为您的 REST API 实施速率限制的最佳方法是在您的连接器代码中,必要时在SinkTask.put(). 您可能想考虑在您SinkTask的 s 级别上的速率限制是否足够,或者您需要它是全局的(由于涉及协调而更加复杂)。

使用您正在考虑的 Kafka 配额的优点是可以为您处理分布式方面,但是我相信这些目前只能根据传输的字节数进行配置。

于 2016-10-20T21:30:02.817 回答