/ / Лідер Вибори LCR - java, протокольні буфери, розподілені обчислення

Leader Election LCR - java, протокольні буфери, розподілені обчислення

Я намагаюся реалізувати алгоритм виборів лідера у кільцевій топології 4 вузлів. Я впроваджую алгоритм LCR. Як слід приступити до вибору лідера, якщо припустити, що мій вузол 3 знижується.

Примітка: - Нотатки нумеруються 1,2,3 і 4. Це однонаправлене кільце, і кожен вузол має інформацію про найближчий вузол, тобто 1 -> 2, 2 -> 3, 3 -> 4 і 4 -> 1

Відповіді:

2 для відповіді № 1

Якщо ви дійсно хочете мати тільки один покажчик нанаступного вузла, ніж потрібно було б виявити на вузлі 4, що вузол 3 не працює. Після цього вузол 4 повинен буде надіслати повідомлення, сказавши, що вузол 3 не працює. Вузол 2 повинен після цього діяти і змінити його наступника, щоб бути вузлом 4 замість вузла 3, і кільце знову завершено.

Ви можете визначити, чи є вузол живим або мертвим, надсилаючи невеликі привітні повідомлення, і коли ви пропустите декілька з них (2 або 3), ви можете припустити, що вони зникли.

У вашому прикладі, коли вузол 3 знижується під часвиборів він не матиме значення, оскільки він не є найвищим ідентифікатором. Але коли ми дивимося на приклад, коли вузол 4 загине, вам також потрібно буде зупинити вибори і перезапустити його.