В компании, в которой я работаю каждый день, мы должны обрабатывать несколько тысяч файлов, что занимает несколько часов. Операции в основном интенсивно работают на процессоре, такие как конвертация PDF в изображения с высоким разрешением и последующее создание различных размеров таких изображений.Параллельная обработка нескольких файлов в кластере
Каждая из этих задач занимает много CPU, поэтому мы не можем просто запускать много экземпляров на одном компьютере, потому что не будет никакой вычислительной мощности, доступной для всего. Таким образом, для завершения всего требуется несколько часов.
Наиболее очевидной задачей, как я вижу, является разделение набора файлов и одновременное их обработка несколькими машинами (5, 10, 15 машин, я еще не знаю, сколько потребуется).
Я не хочу изобретать колесо и создавать диспетчер задач (и я не хочу, чтобы это случилось), но я не уверен, какой инструмент я должен использовать.
Хотя у нас нет больших данных, я посмотрел на Hadoop для начала (мы работаем на Amazon), и его возможности обработки узлов выглядят интересными. Однако я не знаю, имеет ли смысл использовать его. Я также смотрю на Hazelcast, но у меня нет опыта с ним или с концепциями.
Что было бы хорошим подходом для этой задачи?
Спасибо, общее решение Hazelcast кажется довольно хорошим, и у него также есть несколько других функций, которые я могу найти для использования. –