Я планирую написать приложение, в котором будут распределены рабочие процессы. Одним из них будет Лидер, который будет назначать задачи другим процессам. Разработка процесса выбора лидера довольно проста: каждый процесс пытается создать эфемерный узел по одному и тому же пути. Тот, кто успешен, становится лидером.
Теперь у меня вопрос, как спроектировать процесс равномерного распределения задач? Есть рецепт для этого?
Я немного подробнее расскажу о настройке среды:
Предположим, есть 10 рабочих машин, каждая из которых запускает процесс, одна из которых становится лидером. Задачи отправляются в очередь, Лидер берет их и назначает работнику. Рабочие процессы получают уведомление всякий раз, когда задание отправляется.