Netflix Conductor как решение для управления рабочими процессами

Может ли кто-нибудь поделиться учебным пособием по использованию Netflix Conductor? Есть ли пример кода на github или что-то в этом роде? Я сделал образец на Amazon SWF и понял, как все это работает, но мне нужны некоторые советы по началу работы с Conductor.


person speedygonzales    schedule 03.08.2018    source источник
comment
Рассматривали ли вы Cadence (github.com/uber/cadence), созданный первоначальными авторами SWF?   -  person Maxim Fateev    schedule 04.08.2018


Ответы (2)


Первым ресурсом для перехода является официальная документация проводника Netflix. Другие части, которые могут помочь любому набрать скорость, - это реальная работа дирижера. Сервер Conductor в основном управляет жизненным циклом задач.

Предположим, что сервер-проводник работает с конфигурацией по умолчанию. Для выполнения рабочего процесса вам потребуется

  1. Создание определений задач,
  2. Создайте определение рабочего процесса, использующее определения задач на шаге 1,
  3. Выполните рабочий процесс.

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

Основное сомнение, которое у меня было изначально, было о том, как и куда бежит worker? Рабочий может работать на луне при условии, что ваш рабочий может получить доступ к REST API, предоставленному проводником, и иметь возможность обновить статус задачи обратно. то есть вы можете запускать микросервисы везде, где это необходимо.

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

Проводник интегрирован с явными компонентами, такими как эластичный поиск, динамит, поддерживаемый Redis для хранилищ данных. Вы можете настроить их через кластер высокой доступности.

Используя модули contribs, вы можете интегрировать внешние брокеры MQ для задач и обновлять свой рабочий процесс с соответствующими данными приемника, чтобы события публиковались в настроенном приемнике.

У вас также могут быть другие рабочие процессы, которые вы можете выполнять как подчиненный рабочий процесс основного рабочего процесса через обработчики событий слабо связанным образом. В приведенном выше примере использования этот подпроцесс может быть рабочим процессом для проверки образования или подпроцессом для проверки криминального прошлого и т. д.

Из-за того, что проводник не имеет состояния, вы можете запускать несколько экземпляров проводника с помощью контейнеризации.

person guru    schedule 09.01.2019

Самый простой способ, на мой взгляд, использовать докер.

Клонируйте этот репозиторий: https://github.com/Netflix/conductor.

Заходим в проводник/докер и запускаем, докер-составляем вверх

Теперь откройте браузер по адресу http://localhost:5000.

В левом меню вы увидите пункт определения рабочего процесса, где вы можете увидеть пример рабочего процесса.

Чтобы развернуть собственный рабочий процесс, скопируйте json с этого сайта, измените имя и разверните его с помощью этого программного обеспечения Postman.com.

Опубликуйте сообщение для этой конечной точки для развертывания: http://localhost:8080/api/metadata/workflow.

Отправьте сообщение на эту конечную точку, чтобы запустить рабочий процесс: http://localhost:8080/api/workflow/

person btafarelo    schedule 28.08.2020
comment
используя докер, у них нет постоянных данных. Вы знаете, как использовать проводник с сохранением данных? - person amerej; 24.11.2020