Механизмы оркестровки и фреймворки?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Механизмы оркестровки и фреймворки?

Сообщение Anonymous »

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

Более конкретно, требования примерно следующие:
  • Обертка и выполнение общих задач на Java, если это зависит от языка.
  • API для запуска задач и рабочих процессов по требованию.
  • Планирование также было бы неплохо.
  • Поддержка распределенной архитектуры и масштабируемости (в основном для большого количества небольших задач)
  • Постоянство и отказоустойчивость
  • Расширенные возможности настройки рабочего процесса (выполните это, затем эти 3 задачи параллельно, затем эту, имея приоритеты, зависимости...)
  • Интерфейс мониторинга и администрирования (или хотя бы API)
Существующая система представляет собой старомодный монолитный сервис (на Java), в котором есть большая часть этого, включая саму логику выполнения, которая должна оставаться максимально нетронутой.

Есть ли у кого-нибудь опыт решения подобной проблемы? Мне кажется, это должно быть довольно распространено, было бы странно, если бы мне пришлось полностью реализовать это самостоятельно. Я нашел здесь несколько вопросов (например, этот и этот), обсуждающих теорию систем оркестровки и хореографии, но не реальные примеры инструментов, реализующих ее. Кроме того, я думаю, что мы говорим не совсем о микросервисах — задачи не являются длительными и тяжелыми, их просто много, они выполняются в фоновом режиме и выполняют короткие задания многих типов. Я бы не стал создавать сервис для каждого типа заданий.

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

Самый близкий вариант — это движок Netflix Conductor, который отвечает большинству требований, запуская сервер оркестрации, который управляет задачами, реализованными в сервлетах (или любых веб-сервисах на любом языке — плюс). Однако похоже, что он создан в основном для организации тяжелых задач в рабочем процессе, а не для выполнения огромного количества мелких задач, что заставляет меня задаться вопросом, каковы будут накладные расходы, например, при вызове множества мелких задач в сервлетах.

Есть ли у кого-нибудь опыт или какие-либо сведения о Проводнике или других инструментах, которые я мог бы использовать? Или даже весь мой подход к проблеме?

РЕДАКТИРОВАТЬ: Я понимаю, что это своего рода «необходим исследовательский совет», поэтому давайте просто зададим его тремя вопросами:
  • Прав ли я, что ищу решение оркестрации для вышеуказанных требований?
  • Есть ли у кого-нибудь опыт работы с Netflix Дирижер? Есть отзывы о нем?
  • Есть ли у него хорошие конкуренты?


Подробнее здесь: https://stackoverflow.com/questions/499 ... frameworks
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»