Обслуживание восточного / западного побережья с данными Geoipdns и MaxMind GeoLite
Я хочу обслуживать посетителей восточного (западного) побережья с моим сервером в Вирджинии (Калифорния). Для этого я планирую использовать Geoipdns и сопоставления IP-адресов от MaxMind. MaxMind предоставляет два набора данных бесплатно: GeoLite Country и GeoLite City. Однако ни один из них не определил районы восточного / западного побережья. Возможное решение - написать сценарий для объединения всех диапазонов IP-адресов для городов восточного / западного побережья в GeoLite City, но это звучит немного глупо.
Какова лучшая практика в этом? Есть предложения или альтернативы?
1 ответ
Вы переосмысливаете проблему.
API GeoIP City предоставляет вам код штата.
Потратьте десять минут и составьте список состояний, которые вы хотите отправить на дополнительный сервер.
В Perl:
my %west_coast_states = qw( ca or wa ut nv ... );
my $state = ip_to_state_code();
if ($west_coast_states{$state}) {
# send West Coast states to West Coast server
} else {
# all other users sent to East Coast server
}