«Ближайший» — не всегда тот, что на соседней улице

Когда приложение запрашивает файл, например видео или изображение, сервису нужно выбрать, с какого сервера его отдать. Для этого он учитывает не только расстояние на карте. Важнее, сколько времени займёт путь по сети: данные идут через множество узлов и каналов, а загруженный или неисправный участок может замедлить даже короткий маршрут.

Поэтому копия, которая окажется быстрее для пользователя, может находиться дальше географически. Сеть выбирает не склад с минимальным числом километров до него, а доступный путь с подходящим временем доставки.

Как запрос попадает к нужной копии

Один из способов — направить запрос на подходящий сервер ещё в момент поиска адреса сайта. Другой — объявить один сетевой адрес из нескольких точек: тогда маршрутизаторы передают запрос туда, куда ведёт их схема связей и текущая доступность сети. В обоих случаях пользователь обычно не выбирает сервер вручную — выбор скрыт за привычным адресом сервиса.

Копии нужны не только в разных местах. Они также позволяют обслуживать больше запросов и продолжать работу, если одна площадка перегружена или недоступна. При этом сеть может переключить пользователя на другую копию, но лишь если там есть нужные данные и она способна ответить.

Быстрее — не значит без ограничений

Размещение копий ближе к пользователям сокращает задержку: запросу и ответу приходится преодолевать меньшую часть сети. Но хранить и обновлять данные во многих местах сложнее. Если файл изменился, копии должны получить актуальную версию; иначе разные пользователи могут временно увидеть разные данные.

Для большого сервиса это компромисс между скоростью, надёжностью и стоимостью поддержки. Ближайшая копия полезна не сама по себе: она должна быть доступна, не перегружена и содержать то, что запросил пользователь.