Я работаю над проектом, у нас есть число (5 на данный момент) серверов, распространяющихся по всему миру. Клиенты подключаются к одному из этих серверов через централизованный брокер. Мы знаем страну происхождения клиента, но ничего больше. У нас есть полный контроль над серверами, поэтому мы можем иметь всю необходимую нам информацию. Мы не контролируем клиентов, они должны подключиться через этого брокера, как в соответствии со стандартом.Балансировка нагрузки на основе близости
Важно, чтобы брокер выбирал сервер с низкой задержкой, поэтому с данными, которые у нас есть, я считаю, что близость является нашим единственным доступным критерием.
Первой мыслью, которая пришла в голову, является pinging клиент с каждого сервера, но у нас нет ip, только в стране.
Другая идея, которую мы имели, - это ping корневого узла в каждой стране с каждого сервера. Проблема заключается в поиске корневого узла в каждой стране.
Вы знаете, как рассчитать/найти близость между «странами»? Есть ли у вас какие-либо идеи или идеи о том, как решить эту проблему по-другому?
Вы должны прочитать следующее: http://www.tenereillo.com/GSLBPageOfShame.htm – CMCDragonkai 2014-02-20 14:34:06