2016-11-18 3 views
0

Я использую более старую версию JGroups (2.12.2) в распределенном приложении Java.Как изменить координатор кластера JGroups в более ранних версиях jgroups

В какой-то момент мне нужно сделать текущий узел координатора кластера не координатором кластера. Таким образом, используется другой (случайный, но не текущий) узел.

Вопрос 1: Каков правильный способ сделать это?

В настоящее время я просто отсоединение от кластера и повторное подключение через несколько секунд:

channel.disconnect(); 
... 
channel.connect(clusterName); 

Вопрос 2:, как долго я должен ждать, прежде чем подключать обратно? Если я снова подключусь, это все еще работает (другой узел становится координатором)?

ответ

0

Во-первых, 2.12.2 является слишком старым, я рекомендую обновить до более новой версии!

Вопрос 1: Да, это, безусловно, работает. Альтернативой будет использование подхода, описанного в [1]. Вы также можете программно определить следующий вид; в [1] старый король перемещается в конец списка, но представление может быть определено кодом пользователя. Ознакомьтесь с руководством JGroups для создания пользовательских представлений.

Вопрос 2: Отключить() и подключить() не требуется время сна между ними.

[1] https://github.com/belaban/JGroups/wiki/Changing-the-coordinator-of-a-cluster

Смежные вопросы