Конфигурация spring-cloud-stream-kafka: instanceCount и instanceIndex

Запуск программы spring-boot 1.5.7.RELEASE с использованием spring-cloud Dalston.SR4. Сам работал с облачным потоком документацией, особенно в отношении kafka- использование связующего, но мне все еще неясны некоторые аспекты конфигурации:

  1. Действительно ли нам нужно устанавливать spring.cloud.stream.{instanceCount,instanceIndex}, когда мы потребляем от брокеров kafka? Я не понимаю, зачем это нужно, если установлено spring.cloud.stream.bindings.<channel>.group. Или можно с уверенностью сказать, что эти 2 свойства требуются только в том случае, если cloud.stream.kafka.bindings.<channel>.autoRebalanceEnabled установлено false?

  2. Есть ли какая-то польза от установки cloud.stream.default.consumer.partitioned: true для потребителей кафки?

  3. Бонус: в чем разница между spring.cloud.stream.kafka.binder.configuration.auto.offset.reset и spring.cloud.stream.kafka.bindings.<channelName>.consumer.startOffset? Это просто последняя настройка сброса смещения для каждого канала? В любом случае ни один из этих двух параметров не принимается, и значение auto.offset.reset по-прежнему сообщается во время запуска как earliest.


person laur    schedule 13.10.2017    source источник


Ответы (1)


  1. Верный; это необходимо только в том случае, если используется ручное назначение разделов.

  2. Не совсем на потребительской стороне; но на стороне производителя, например, если вам нужен строгий порядок - например, если вы хотите, чтобы все «заказы» для клиента «foo» отправлялись в один и тот же раздел; вам также нужна соответствующая конфигурация разделов. На стороне потребителя (для Kafka) он просто обеспечит наличие group.

  3. startOffset должен переопределить глобальную настройку. Были исправлены некоторые ошибки в порядке применения этих свойств пример здесь. Какую версию ты используешь? Исправление находится в выпуске 1.3.0; он также есть в ветке 1.2.x, но еще не выпущен; нам нужен 1.2.2.RELEASE, чтобы он был доступен; пожалуйста, откройте для этого проблему на github, если вы не можете перейти на 1.3.

person Gary Russell    schedule 13.10.2017
comment
У меня 1.2.1.RELEASE, поэтому проще всего перейти на 1.3. Спасибо за очередной качественный ответ. - person laur; 13.10.2017