⚡️ Построение распределённого планировщика задач на Akka.NET
Аарон Станнард из Petabridge описал, как построить распределённый планировщик долгих задач на Akka.NET — для случаев, когда задания идут от минут до часов, а кластер должен масштабироваться, не теряя уже выполненную работу.
Автор объясняет, почему обычный Akka.Cluster.Sharding здесь не годится: при изменении размера кластера он перебрасывает задания на новые узлы и выбрасывает уже проделанную работу. Вместо этого система строится на нескольких акторах, где главный, JobTracker, хранит расписание и переживает сбои. Ключевая идея — распределять задачи по реальной загрузке узлов: планировщик прикидывает «размер» задания и отправляет его на самый свободный узел, избегая перегрузки отдельных машин.
Такой подход не тратит вычисления впустую и хорошо подходит для транскрипции, транскодинга, ETL и финансовой отчётности.
👉🏻 Канал | 💬 Чат | 📕 Каталог
Post #4031
2.12K