Недавно я играл с Hadoop и был впечатлен его планированием, управлением и представлением отчетов о работе MapReduce. Похоже, что распределение и исполнение новых рабочих мест совершенно безболезненно, что позволяет разработчику сосредоточиться на реализации своих рабочих мест.Распределенное планирование, управление и отчетность
Мне интересно, существует ли что-либо в домене Java для распределенного выполнения заданий, которые не так легко выражаются как проблемы с MapReduce? Например:
Работы, требующие координации задач и синхронизации. Например, они могут включать в себя последовательное выполнение задач пока это возможно выполнить некоторые задачи одновременно:
.-- B --. .--A --| |--. | '-- C --' | Start --| |-- Done | | '--D -------------'
ресурсоемкие задачи, которые вы хотите распространять, но не дают никаких результатов, чтобы уменьшить - преобразование изображения/изменение размера, например.
Итак, существует ли платформа/платформа Java, которая обеспечивает такую распределенную вычислительную среду? Или такая вещь приемлема/достижима с помощью Hadoop - и если да, то есть ли какие-либо шаблоны/рекомендации для этих видов работ?
Как Spring Batch помогает распараллелить работу через кластер, как Hadoop? – Marquez