как развернуть новую работу без простоев - PullRequest
0 голосов
/ 06 июня 2019

У меня есть приложение Apache Flink, которое читает одну тему Kafka.Я хотел бы обновлять приложение время от времени, не испытывая простоев.На данный момент приложение Flink выполняет некоторые простые операторы, такие как map и некоторые синхронные операции ввода-вывода, во внешние системы через http rest API.

Я попытался использовать команду stop, но я получил сообщение «Сбой при завершении задания (STOP):Эта работа не может быть остановлена. ", Я понимаю, что разъем Kafka не поддерживает поведение остановки - ссылка !Простым решением было бы отменить с помощью точки сохранения и повторно развернуть новый jar с точкой сохранения, но тогда мы получим время простоя.Другим решением могло бы быть управление развертыванием извне, например, путем переключения на новую тему.

что было бы хорошей практикой?

1 Ответ

0 голосов
/ 06 июня 2019

Если вам не нужен однократный вывод (т. Е. Вы можете терпеть некоторые дубликаты), вы можете использовать точку сохранения, не отменяя запущенное задание.Как только точка сохранения завершена, вы начинаете вторую работу.Вторая работа может писать на другую тему, но не обязательно.Когда вторая работа закончилась, вы можете отменить первую работу.

...