Заставить поток кинезиса принимать несколько потребителей - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть поток "dest", для которого я хочу двух потребителей, и оба потока должны использовать одно и то же сообщение.

Но если один поток потребляет сообщение, сообщение теряется и неперейти ко второму потоку.Я не хочу очереди, но тема здесь.

Я пытался создать 2 разные группы для 2 разных потоков, но это не помогло.Как я могу настроить это здесь?

spring:
  cloud:
    stream:
      bindings:
        input:
          group: group1
          destination: dest
          content-type: application/json

spring:
  cloud:
    stream:
      bindings:
        input:
          group: group2
          destination: dest
          content-type: application/json



spring:
  cloud:
    stream:
      bindings:
        output:
          destination: dest
          content-type: application/json

1 Ответ

0 голосов
/ 11 апреля 2019

Вам необходимо объявить две разные привязки для этого варианта использования input1 и input2:

spring:
  cloud:
    stream:
      bindings:
        input1:
          group: group1
          destination: dest
          content-type: application/json

spring:
  cloud:
    stream:
      bindings:
        input2:
          group: group2
          destination: dest
          content-type: application/json

Таким образом, связыватель создаст двух разных потребителей, и, следовательно, обаиз них будет потребляться одна и та же запись из потока Kinesis.

Конечно, вам потребуется две разные конфигурации @StreamListener для каждой цели привязки.

...