Kafka Streams: настройка `AdminClientConfig` или` ConsumerConfig` без переопределения значений обоих - PullRequest
2 голосов
/ 08 мая 2019

Работа с версией kafka: 2.0.1 & kafka-streams-scala версия 2.0.1

Регистрация сообщений отладки, таких как:

ОТЛАДКА 2019-05-08 09:57: 53,322 [he.kafka.clients.NetworkClient] [
] []: [Consumer clientId = XXX-bd6b071d-a44f-4253-a3a5-539d60a72dd3-StreamThread-1-consumer, groupId = XXX] Отключение от узла YYYиз-за тайм-аута запроса. "

привел меня к увеличению значения request.timeout.ms:

  private val config: Properties = new Properties
  config.put(StreamsConfig.REQUEST_TIMEOUT_MS_CONFIG, "240000")
...
  private val streams: KafkaStreams = new KafkaStreams(topology, config)

Однако это устанавливает новое значение равным 240000 мс для обоих AdminClientConfig и ConsumerConfig (значения request.timeout.ms по умолчанию для AdminClientConfig и ConsumerConfig на самом деле различаются - 120000 мс и 40000 мс соответственно).

Есть ли способ установить потоки КафкиЗначения конфигурации для AdminClientConfig или ConsumerConfig без с переопределением значений обоих?

1 Ответ

3 голосов
/ 08 мая 2019

Вы можете добавить к любому конфигу consumer. или admin., чтобы применить его только к одному клиенту.

Существует также main.consumer., restore.consumer. и global.consumer. для дальнейшего различения потребителей. Используя consumer. в качестве префикса, конфигурация применяется ко всем потребителям.

Наконец, есть также префикс producer. (просто укажите его для полноты).

Сравните документы: https://docs.confluent.io/current/streams/developer-guide/config-streams.html#naming

...