我需要代表一组只公开restapi的懒惰消费者使用消息。因此,我计划使用sink连接器从kafka主题获取消息,并对公开的api执行httppost操作。需要考虑的关键因素之一是节流。您建议采用什么机制来限制接收器任务以满足API的层sla。我知道kafka有客户机配额功能,但是,什么是跟踪api请求/分或秒的最佳机制,允许动态调整客户机配额?
58wvjzkj1#
我认为为restapi实现速率限制的最好方法是在连接器代码中,如果需要,在 SinkTask.put() . 你可能要考虑是否在你的利率水平限制 SinkTask s就足够了,或者您需要它是全局的(由于涉及到协调,所以更复杂)。您考虑使用kafka配额的优点是分布式方面可以为您处理,但是我相信目前只能根据传输的字节来配置。
SinkTask.put()
SinkTask
1条答案
按热度按时间58wvjzkj1#
我认为为restapi实现速率限制的最好方法是在连接器代码中,如果需要,在
SinkTask.put()
. 你可能要考虑是否在你的利率水平限制SinkTask
s就足够了,或者您需要它是全局的(由于涉及到协调,所以更复杂)。您考虑使用kafka配额的优点是分布式方面可以为您处理,但是我相信目前只能根据传输的字节来配置。