Более конкретно, требования примерно следующие:
- Обертка и выполнение общих задач на Java, если это зависит от языка.
- API для запуска задач и рабочих процессов по требованию.
- Планирование также было бы неплохо.
- Поддержка распределенной архитектуры и масштабируемости (в основном для большого количества небольших задач)
- Постоянство и отказоустойчивость
- Расширенные возможности настройки рабочего процесса (выполните это, затем эти 3 задачи параллельно, затем эту, имея приоритеты, зависимости...)
- Интерфейс мониторинга и администрирования (или хотя бы API)
Есть ли у кого-нибудь опыт решения подобной проблемы? Мне кажется, это должно быть довольно распространено, было бы странно, если бы мне пришлось полностью реализовать это самостоятельно. Я нашел здесь несколько вопросов (например, этот и этот), обсуждающих теорию систем оркестровки и хореографии, но не реальные примеры инструментов, реализующих ее. Кроме того, я думаю, что мы говорим не совсем о микросервисах — задачи не являются длительными и тяжелыми, их просто много, они выполняются в фоновом режиме и выполняют короткие задания многих типов. Я бы не стал создавать сервис для каждого типа заданий.
На данный момент я также не ищу облачные и контейнерные сервисы — насколько я понимаю, развертывание — это другая проблема.
Самый близкий вариант — это движок Netflix Conductor, который отвечает большинству требований, запуская сервер оркестрации, который управляет задачами, реализованными в сервлетах (или любых веб-сервисах на любом языке — плюс). Однако похоже, что он создан в основном для организации тяжелых задач в рабочем процессе, а не для выполнения огромного количества мелких задач, что заставляет меня задаться вопросом, каковы будут накладные расходы, например, при вызове множества мелких задач в сервлетах.
Есть ли у кого-нибудь опыт или какие-либо сведения о Проводнике или других инструментах, которые я мог бы использовать? Или даже весь мой подход к проблеме?
РЕДАКТИРОВАТЬ: Я понимаю, что это своего рода «необходим исследовательский совет», поэтому давайте просто зададим его тремя вопросами:
- Прав ли я, что ищу решение оркестрации для вышеуказанных требований?
- Есть ли у кого-нибудь опыт работы с Netflix Дирижер? Есть отзывы о нем?
- Есть ли у него хорошие конкуренты?
Подробнее здесь: https://stackoverflow.com/questions/499 ... frameworks
Мобильная версия