Разработка и развертывание заданий в Apache Flink - PullRequest
0 голосов
/ 07 января 2020

мы начали развивать некоторые рабочие места с Flink. Наш текущий процесс разработки / развертывания выглядел так: 1. разработать код в локальной среде IDE и скомпилировать 2. загрузить файл jar на сервер (через пользовательский интерфейс) 3. зарегистрировать новое задание

Однако оказалось, что сгенерировать jar -файл составляет ~ 70 МБ, а процесс загрузки занимает несколько минут. Каков наилучший способ ускорить разработку (например, с помощью ide на сервере?)

Ответы [ 2 ]

3 голосов
/ 07 января 2020

Одним из решений является использование системы контроля версий , и после фиксации и отправки изменений вы можете создать JAR на самом сервере. Вы можете написать для этого простой скрипт.

Другое решение, которое потребует времени и усилий, - это установка CI CD Pipeline , который бы автоматизировал весь процесс, и много ручного труда потребовало бы быть сведенным к минимуму.

Кроме того, попробуйте не использовать толстую банку , чтобы минимизировать размер банки, если вам нужно выскочить свою банку в кластер.

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

Во-первых, загрузка 70 МБ не должна занимать минуты. Возможно, вы захотите проверить настройки вашей сети. Конечно, если ваше inte rnet соединение не очень хорошее, вы ничего не можете с этим поделать.

В общем, я бы постарался максимально избежать кластерных тестов. Это медленно и трудно для отладки. Его следует использовать только для тестирования производительности или непосредственно перед выпуском в эксплуатацию.

Все логики c должны быть проверены на модуле. Вся работа должна быть проверена на интеграцию, и в идеале у вас также должен быть сквозной тест. Я рекомендую использовать подход на основе docker для внешних систем и использовать такие вещи, как тестовые контейнеры для Kafka, чтобы вы могли запускать все тесты из вашей IDE.

Переход на тогда тестовый кластер должен быть редкостью. Если вы обнаружите какую-либо проблему, которая не была охвачена вашими автоматическими тестами c, вам нужно добавить новый тестовый пример и решить его локально, так что существует высокая вероятность, что он будет решен в тестовом кластере.

...