Есть один дата-центр - dc1. Бизнесу необходимо создать еще один центр обработки данных - dc2 в другом регионе, и в будущем их может быть больше, например, dc3.
В дата-центре dc1:
Как указано выше, когда dc2 включен, я хочу маршрутизировать трафик между dc1 и dc2 на основе клиента. Варианты, которые я нашел до сих пор, есть.
или
Мне нужна помощь в следующем
Вы хотите вручную распределить клиентов по каждому DC или просто ищете простой способ распределения нагрузки? В последнем случае балансировка нагрузки по географическому признаку обычно дает лучшую производительность.
Балансировщики нагрузки с географической привязкой почти всегда основаны на DNS, что означает, что у вас не будет информации об URL-адресе в момент поиска DNS, и поэтому вы не сможете принять по ней решение. Однако я встречал схемы, в которых веб-сервер в одном месте после изучения запроса отправляет 301 редирект службе в другом месте, если запрошенный объект лучше обслуживается из другого места.
Что касается географической балансировки нагрузки, существует несколько продуктов «DNS как услуга»; Я бы порекомендовал Dynect (http://dyn.com/dns/dynect-managed-dns/). Они могут выполнять как геолокацию, так и мониторинг сайта, вытаскивая мертвый VIP из ротации DNS в случае сбоя.
Также существует довольно много решений на основе устройств, таких как GTM от F5 и Netscaler от Citrix, но они будут стоить гораздо дороже, чем облачные решения.
Самым большим недостатком решений на основе DNS является то, что некоторые клиенты не будут надежно обновлять свои кеши DNS в случае переключения на другой ресурс. На сайте, над которым я работаю (это большой сайт), мы увидим, что клиенты достигают устаревшего VIP-статуса через несколько дней или недель после удаления своего IP-адреса из DNS. Исправления для этого становятся довольно экзотическими, обычно в зависимости от использования протоколов маршрутизации для «перемещения» VIP с одного сайта на другой в дополнение к изменению DNS.