Струйный конвейер Hazelcast, созданный в приложении с множеством проблем, вызывающих проблемы - PullRequest
0 голосов
/ 24 января 2019

У меня есть приложение, в котором я создал экземпляр Jet и задание конвейера для агрегирования результатов потоковых данных.Я запускаю несколько экземпляров такого приложения.Проблема, с которой я сталкиваюсь, состоит в том, что, поскольку есть 2 установки, она выполняет 2 конвейерных задания, и, следовательно, результат вычисляется дважды и неверно, но выясняет, что оба экземпляра Jet являются частью одного кластера.

Разве реактивный конвейер не проверяет работу конвейера и, если он совпадает, просто считает его одним, как поток Кафки, делает это с его топологией?

1 Ответ

0 голосов
/ 25 января 2019

Передача заданий в Jet 0.7 распространяется на весь кластер. Если вы отправите один и тот же конвейер / группу доступности базы данных дважды, задание будет выполнено дважды.

В следующей версии добавлен метод newJobIfAbsent(): если задание имеет имя, оно будет отправлять только задание, если нет активного задания с таким же именем. Если задание с таким же именем уже существует, оно вернет дескриптор Job к уже существующему заданию.

...