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