Является ли Jenkins подходящим инструментом для потоковой передачи в реальном времени? - PullRequest
0 голосов
/ 07 февраля 2020

Скажем, я хотел бы собрать информацию о формате json с URL, который обновляется sh каждые 2 минуты. Мне нужно запускать свой конвейер (записанный в Python) непрерывно каждые 2 минуты, чтобы захватывать их без каких-либо пропущенных данных. В этом случае конвейер обрабатывается в реальном времени.

В настоящее время я использую Jenkins для запуска конвейера каждые 2 минуты, но я не думаю, что это правильная практика, и Jenkins предназначен для конвейеров CI / CD. Я сомневаюсь, что мой - это конвейер CI / CD. Несмотря на то, что я знал, что есть плагин для конвейера Jenkins, я все еще думаю, что использование этого плагина концептуально некорректно.

Итак, какие инструменты обработки данных лучше всего подходят в этом случае? На этом этапе преобразование данных не требуется. Я верю в будущее, так как процесс становится более сложным, необходима трансформация. Только к вашему сведению, данные будут закачиваться в azure blob storage.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2020

Как уже упоминалось, Jenkins, вероятно, не следует использовать в качестве распределенной системы Cron ... Пусть она делает то, что у нее хорошо получается - CI.

Вы можете загрузить любую виртуальную машину и создать сценарий Cron, или вы можете использовать планировщик типа Airflow

FWIW, «каждые 2 минуты» - это не «реальное время»

Просто к вашему сведению, данные будут закачиваться в azure хранилище BLOB-объектов.

Если вы используете Kafka (через концентратор событий), вы можете использовать Kafka Connect для очистки сайта, отправки данных в топику Kafka c, а затем с помощью соединителя приемника для отправки данных в WASB

0 голосов
/ 07 февраля 2020

Jenkins предназначен для конвейеров CI / CD, а не для планирования заданий. Так что да, вы правы, Дженкинс не тот инструмент, который вы хотите достичь.

Я полагаю, вы используете Microsoft Azure.

  1. Если вы используете блоки данных, используйте приложение Spark Streaming и создайте ящик. https://docs.microsoft.com/en-us/azure/databricks/dev-tools/api/latest/jobs
  2. Другой подход заключается в использовании Azure DataFactory с запланированным триггером для задания. Так как вы хотите запускать каждые 2 минуты, я не уверен, сколько это будет стоить.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...