或者甚至可能是延迟消费者收到的消息的方法。我需要在每隔90s后在nodejs中进行函数调用,所以我想为每个kafka消息添加90s的延迟
答案 0 :(得分:0)
您可以使用KafkaProducer配置linger.ms,其描述为:
“ [...]添加了少量的人为延迟-即,生产者将立即等待直到给定的延迟以允许发送其他记录,以便可以发送,而不是立即发送记录。 [...]“
此配置默认为0
,并且可以设置为任何long
值。
根据生产者发送给主题的数据量,您可能还希望增加配置batch.size。否则,如果在linger.ms
的延迟结束之前达到此大小限制,则KafkaProducer将在90秒之前发送消息。
请记住,如果您增加linger.ms
,则可能还希望增加delivery.timeout.ms
。根据其documentation:
“此配置的值应大于或等于
request.timeout.ms
和linger.ms
的总和。”