Как спроектировать распределение задач с помощью ZooKeeper

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

Теперь у меня вопрос: как спроектировать процесс равномерного распределения задач? Есть ли какой-нибудь рецепт для этого?

Немного подробнее о настройке среды:

Предположим, есть 10 рабочих машин, каждая запускает процесс, одна из них становится лидером. Задания поступают в очередь, лидер принимает их и назначает рабочему. Рабочий процесс получает уведомление каждый раз, когда поступает задание.

10
задан Sabya 7 March 2011 в 09:20
поделиться