Я ищу решение для запуска большого количества задач и мониторинга их состояния в кластере.
Подробно: каждая задача состоит из 3-4 процессов, которые содержатся в докере (каждый процесс — это команда запуска докера). Все процессы должны выполняться на одном сервере.
Количество задач, о которых мы говорим, — это пачки из нескольких сотен задач за раз.
Я рассмотрел несколько решений, основанных на Mesos:
- Chronos — кажется, что он будет давать сбои при высокой нагрузке и в любом случае больше ориентирован на повторяющиеся (cron) задания. Пока мне нужна разовая (тяжелая) работа.
- Пользовательский Mesos FW — кажется низкоуровневым для моих нужд, мне потребуется написать механизмы планирования и повторных попыток, я бы оставил это на крайний случай.
- Aurora. Это кажется многообещающим, поскольку каждая задача выполняется на одном узле и состоит из нескольких процессов. Однако мне не хватает пары моментов: Aurora, похоже, не может выполнять несколько задач как часть одного задания. Поскольку все мои задачи похожи с разными входными данными, я мог бы использовать одно задание со многими (скажем, 400) экземплярами, и первый процесс каждой задачи (роль которого заключается в загрузке входных данных из S3) мог бы загрузить другой набор на основе идентификатора экземпляра. . Это подводит меня к другой проблеме: я не могу найти рабочий пример использования {{ mesos.instance }} в файлах .aurora. Может ли кто-нибудь привести мне пример?
Спасибо всем рыбакам