Kafka Streams: является ли GlobalStore многопоточным? - PullRequest
0 голосов
/ 09 июня 2018

Могут ли два параллельных процессора в топологии выполнять установку / загрузку в одном глобальном хранилище?Например, в примере топологии, как показано ниже, один процессор проходит через хранилище, используя (KeyValueIterator), в то время как другой процессор выполняет установку / удаление?

Топология:

Source: source (topic: [input topic with 6 partitions])
    --> processor1
    --> processor2

Processor: processor1
    <-- source

Processor: processor2
    <-- source      

Global Stores:
  GlobalStore: globalstoresource (topic: [input topic with 1 partition])
      --> loadglobalstore (store: myglobalstore)

1 Ответ

0 голосов
/ 10 июня 2018

Глобальный магазин является многопоточным.Однако только «глобальный процессор» должен делать записи в магазине.Все остальные темы должны только читать хранилище.

Обратите внимание, что глобальные хранилища вернулись к "теме ввода глобального хранилища".Если вы делаете путы из другого потока, они будут сделаны только в локальном хранилище.Таким образом, если вы запустите несколько экземпляров, другой экземпляр не увидит изменения.Кроме того, если произойдет ошибка, и хранилище потребуется воссоздать, путы из другого потока будут потеряны, поскольку они не поддерживаются «темой ввода глобального хранилища».

...