我想微调 KafkaTemplate
生产者的选项,以尽可能最佳地处理各种故障转移和恢复场景。
我们有自己的 KafkaProducerMessageHandler
磨合 sync
模式(即等待发送操作结果-请参阅: acks
下面)。注意:在当前版本的kafka中,这是启用errorchannel报告所必需的。
以下是我选择的选项: acks = 1
(我们正在执行Kafka经纪人领导的基本确认)
retries = 10 max.in.flight.requests.per.connection = 1
(如果达到错误状态,这将使消息保持有序) linger.ms = 1
(不确定是否与此相关?) request.timeout.ms = 5000
(超时时间为5秒,这将与重试一起工作-因此,在消息被视为失败并随后出现在错误通道上之前,总时间为50秒) enable.idempotence = false
(再说一遍,不确定这个选项?) retry.backoff.ms = 100
(这是默认设置-是否值得一玩?)
这些价值观听起来如何?我有什么遗漏吗?
1条答案
按热度按时间3qpi33ja1#
这是一篇关于Kafka制作人调整的老帖子:http://ingest.tips/2015/07/19/tips-for-improving-performance-of-kafka-producer/
tldr版本:
注意“batch.size”和“linger.ms”参数。