Во-первых, вы указали ссылку на Flink 1.5. Если вы запускаете fre sh, я бы порекомендовал использовать Flink 1.9 или предстоящий 1.10.
. Для ваших вопросов:
1) Работа с файловым монитором никогда не прекращается. Он не может знать, когда больше нет файлов, поэтому вы должны отменить его вручную. Кластер заданий подходит для этого.
2) На этот вопрос нет четкого ответа, и он также не указан Flink c. У каждого свое решение с разными недостатками.
Я бы хотел полуавтоматический подход c, где все автоматизировано c, но вам нужно явно нажать кнопку развертывания (а не просто git pu sh). Часто эти конвейеры CI / CD сначала развертываются на тестовом кластере и проводят тест дыма, прежде чем разрешить развертывание в рабочей среде.
Если вы полностью свободны sh, вы можете проверить AWS codedeploy . Тем не менее, я получил хороший опыт работы с Gitlab и AWS runner.
Обычный процесс будет выглядеть примерно так:
- build
- интеграция / e2e тесты на сборочной машине (dockerized)
- развертывание в тестовом кластере / preprod cluster
- запуск тестов дыма
- развертывание на prod
Я также видел процессы, которые go быстро работают на prod и тратят время на улучшение мониторинга и быстрый откат вместо кластера preprod и тесты дыма. Обычно это подходит для бизнес-некритических процессов и того, насколько дорогой является переработка.