Обслуживание восточного / западного побережья с данными 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
}
Другие вопросы по тегам