Как получить две темы с одним и тем же ключом раздела и количеством разделов, принадлежащих одному и тому же потребителю в приложении kafka streams - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь создать службу Kafka Streams, где

  1. Я пытаюсь инициализировать кэш в процессоре, который затем будет обновляться путем использования сообщений с топи c скажем "nodeStateChanged" для ключа раздела, скажем, locationId.

  2. Мне нужно проверить состояние узла, когда я использую другую топи c, скажем, «Отчет» снова, с тем же идентификатором locationId. Фактически я присоединяюсь к таблице, созданной nodeStateChanged.

Как убедиться, что все обновления для nodeStateChanged находятся в одном экземпляре с отчетом topi c, поэтому поиск местоположения возможен при получении нового отчета. Нужно, чтобы 1 и 2 создавались в одной и той же топологии, иначе можно создать две отдельные топологии с одинаковым APPLICATION_ID_CONFIG.

1 Ответ

1 голос
/ 29 января 2020

Вам не нужно ничего делать. Kafka Streams будет всегда разделять темы. Ie, если у вас есть топология, которая читает из нескольких тем по N разделов каждый, вы получаете N задач, и каждая задача обрабатывает соответствующие разделы, ie, задача 0 обрабатывает нулевые разделы обеих входных тем, процессы задачи 1 разделы одной из обеих тем ввода, et c.

...