Kafka 连接节流
Kafka connect throttling
我需要代表一组只公开 REST API 的懒惰消费者使用消息。因此,我计划使用接收器连接器从 Kafka 主题中获取消息并对公开的 APIs.
执行 HTTP POST 操作
要考虑的关键因素之一是节流。您建议使用什么机制来限制接收器任务以满足 API 的层级 SLA。我知道 Kafka 具有客户端配额功能,但是,跟踪 API requests/min 或秒的最佳机制是什么,可以动态调整客户端配额?
我认为为您的 REST API 实施速率限制的最佳方法是在您的连接器代码中通过在必要时在 SinkTask.put()
中进行阻塞来实现。您可能需要考虑 SinkTask
级别的速率限制是否足够,或者您需要它是全局的(由于涉及协调,因此更加复杂)。
您正在考虑使用 Kafka 配额的优点是分布式方面已为您处理,但我认为这些目前只能根据传输的字节数进行配置。
我需要代表一组只公开 REST API 的懒惰消费者使用消息。因此,我计划使用接收器连接器从 Kafka 主题中获取消息并对公开的 APIs.
执行 HTTP POST 操作要考虑的关键因素之一是节流。您建议使用什么机制来限制接收器任务以满足 API 的层级 SLA。我知道 Kafka 具有客户端配额功能,但是,跟踪 API requests/min 或秒的最佳机制是什么,可以动态调整客户端配额?
我认为为您的 REST API 实施速率限制的最佳方法是在您的连接器代码中通过在必要时在 SinkTask.put()
中进行阻塞来实现。您可能需要考虑 SinkTask
级别的速率限制是否足够,或者您需要它是全局的(由于涉及协调,因此更加复杂)。
您正在考虑使用 Kafka 配额的优点是分布式方面已为您处理,但我认为这些目前只能根据传输的字节数进行配置。