用于故障转移和恢复的最佳Kafka Producer选项

时间:2017-09-20 16:49:58

标签: java spring apache-kafka spring-integration

我想微调Producer的KafkaTemplate选项,以尽可能最佳地处理各种故障转移和恢复方案。

我们KafkaProducerMessageHandlersync模式运行(即等待发送操作结果 - 参见: acks如下)。 注意:这在当前版本的Kafka中是必需的,以启用 ErrorChannel 报告。

以下是我选择的选项:

  • acks = 1 (我们正在对卡夫卡进行基本的认可 经纪人领袖)
  • retries = 10
  • max.in.flight.requests.per.connection = 1 (如果达到错误状态,这将使邮件按顺序排列)
  • linger.ms = 1 (不确定这个或是否相关?)
  • request.timeout.ms = 5000 (超时五秒,这将适用于重试 - 所以 消息被视为失败之前的总时间为50秒,然后将显示在错误频道上
  • enable.idempotence = false (再次,不确定此选项?)
  • retry.backoff.ms = 100 (这是默认设置 - 再次值得玩吗?)

这些值如何发声? 有什么我想念的吗?

1 个答案:

答案 0 :(得分:1)

这是一篇关于Kafka制片人调整的老帖子:http://ingest.tips/2015/07/19/tips-for-improving-performance-of-kafka-producer/

TLDR版本:

注意' batch.size'并且' linger.ms'参数。