Кто-нибудь опубликовал ответ на эту проблему?Были и другие посты без ответов.Наша ситуация заключается в том, что мы отправляем сообщения на тему, которая поддерживает KTable на первом этапе нашего потокового процесса.Затем мы извлекаем небольшое количество данных из этих сообщений и передаем их вместе.Мы делаем несколько вычислений на этом меньшем количестве данных для группировки и агрегирования.В конце процесса потоковой передачи мы просто хотим присоединиться к этой исходной теме через KTable, чтобы снова получить полный текст сообщения.Результаты объединения являются только подмножеством данных, поскольку не могут найти записи в таблице KTable.
Это только начало проблемы.В другом случае мы используем KTables в качестве индексов для поиска, предназначенного для обогащения поступающих данных. Подумайте об этих поисках, как об идентификации того, видели ли мы определенный шаблон в потоковом сообщении ранее.Если мы видели шаблон, мы хотим пометить его идентификатором (используемым для группировки), извлеченным из существующего KTable.Если мы не видели шаблон прежде, чем мы присвоили бы ему идентификатор и поместили его обратно в таблицу KTable, чтобы использовать ее для маркировки будущих сообщений.Мы обнаружили, что нет никаких гарантий, что информация будет присутствовать в KTable для будущих сообщений.Это отсутствие гарантии, кажется, делает KTables бесполезными.Мы не можем понять, почему это очень мало обсуждается на форумах.
Наконец, ни одна из этих проблем не казалась проблемой при работе с одним экземпляром потокового приложения.Однако, как только наши данные стали большими, и мы были вынуждены иметь 10 экземпляров приложения, все сломалось.Кроме того, мы не можем использовать такие вещи, как GlobalKTables, потому что слишком много данных загружается в память одного компьютера.
Что мы можем сделать?В настоящее время мы планируем отказаться от всех KTable и использовать что-то вроде Hazelcast для хранения данных поиска.Должны ли мы просто перейти на Hazelcast Jet и сбросить все потоки Kafka вместе?
Добавление потока: Поток данных Kafka