Автоматический выбор лидера в кластере узлов - PullRequest
5 голосов
/ 29 апреля 2011

Каковы наилучшие методы / алгоритмы, позволяющие выбрать ведущий узел в кластере узлов, зная, что узлы в любой момент появляются и выключаются?Если реализации доступны в Java, это плюс.

Ответы [ 3 ]

6 голосов
/ 29 апреля 2011

Я реализовал алгоритм Paxos раньше в Java.Это очень полезно и довольно просто.(Потребовалось около 16 часов, чтобы создать демонстрационную версию с использованием потоков для имитации серверов. Тогда я был намного хуже в потоке!)то, что он будет делать, - это позволить различным узлам договориться о лидере.Таким образом, у вас есть этот алгоритм выбора лидера, но поскольку каждый узел будет выбирать свой собственный узел для руководства, вы можете найти «гражданскую войну» среди ваших узлов.Алгоритм Paxos позволяет вам сказать, какой выбранный лидер является настоящим лидером.

http://en.wikipedia.org/wiki/Paxos_%28computer_science%29

1 голос
/ 29 апреля 2011

Вы можете просмотреть источники JGroups .(ключевое слово: "координатор", посмотрите глава 7 в руководстве по jGroups)

0 голосов
/ 28 сентября 2011

Некоторые параметры:

Iлично реализовал это с Hazelcast и JGroups и сказал, что оба были довольно просты и просты.Для нового проекта я бы пошел с Hazelcast.

...