Маршрутизация трафика и балансировка нагрузки в современных сетях может осуществляться очень витиевато.
Если рассмотреть тот-же CloudFlare, то там много всего, начиная то маршрутизации подсетей на протоколах IP (традиционная маршрутизация), проходя мимо анонсов этих подсетей в протоколах типа BGP (маршрутизация Автономных Систем), распределением нагрузки через DNS (когда DNS сервер выдает разные IP-адреса в зависимости от нагрузки), и заканчивая балансировкой на уровне прокси-серверов и/или приложений.
Нет, заканчивая балансировкой контейнерами (docker/kvm), системами оркестрации (composer/kubernets), mesh-системами (consul.io)
При этом каждый кусочек делает что-то свое, стараясь выдать пользователю доступ к ресурсу.