выборы лидера, когда UID не являются целыми числами
Я новичок в распределенных системах и сейчас изучаю книгу Нэнси Линч по распределенным алгоритмам. Теперь, после завершения раздела о проблеме выборов лидера и алгоритмах обучения, таких как LCR, HS,... мне пришла в голову одна проблема:
что, если бы UID не были положительными целыми числами?
в основном во всем том разделе, который я читал, UID были положительными целыми числами. Однако когда я думал о кодировании этих алгоритмов, я думал об объектах для сравнения. Например, в программировании у нас могут быть разные объекты (например, яблоки и апельсины!). Итак, проблема была бы примерно такой:
если бы, например, A,B,C,... были UID узлов, как я могу выбрать лидера?
Одна из моих больших проблем в том, что мы не можем просто сравнивать объекты! как мы можем сказатьA==A
но нет возможности сказать A>B or A<B
(это как сказать, что яблоко больше апельсина или нет?)
Заранее спасибо
1 ответ
С объектами вы выбираете произвольный способ их сравнения. Есть много вариантов сравнения, но если все согласны с тем, какой из них использовать, то это работает.
Например, вы можете сравнить свои фрукты по весу. И теперь любое данное яблоко можно справедливо сравнить с любым данным апельсином. И алгоритм работает.