Мнение наивного способа реализации обмена нагрузкой для сервера на стороне клиента
Вопрос
Я думал о обмене клиентами для сервера, который может быть выполнен по выполнению клиента с практически без помощи от End Severs, и придумал это -
Простите меня, если это звучит глупо, бу вот -я иду -
- У сервера есть таблица, в которой хранится поля имен серверов, IP -адресов сервера и соответствующие IP -адреса Mac ID (да, это очень ориентированный на Windows подход)
- Каждый раз, когда клиент входит в систему на основной сервер, он отправляет запрос на сервер, который возвращает IP -адрес всех записей сервера ASN, а их соответствующие идентификаторы MAC он имеет в своей таблице (я предполагаю, что на одном сервере есть несколько копий Rsynced)
- Затем клиент реализует трассу для каждого из этих IP -адресов и хранит их в массиве в порядке увеличения Hopcount.
- Итерация через этот массив и реализуйте ARP для разрешения IP -адресов в Mac ID. Затем сравните эти идентификаторы Mac с теми, которые извлекаются с основного сервера на шаге 1. Если есть совпадение, то выбор сервера для подключения, основан на количестве подсчетов HOP+ совпадение идентификаторов Mac+ метрика, которая означает нагрузку (количество Соединения с этим сервером в этот момент времени).
Мнения о том, как звучит эта идея, приветствуются.
Решение
Я не думаю, что совместное использование нагрузки может основываться исключительно на подсчете хопа. И зачем вам нужны MAC -адреса? Если один сервер быстро достигнут, но могущественный, он может быть не лучшим выбором. Возможно, вы могли бы добавить службу на основной сервер, чтобы отслеживать количество клиентов для каждого сервера и использовать его в качестве критерия ... но это звучит очень похоже на старое, простое и простое балансирование нагрузки.
Не связан с StackOverflow