Как я могу решить эту проблему? Пользователь должен использовать пропускную способность целевого сервера вместо сервера перенаправления. Спасибо.
Вообще есть несколько способов:
- Используйте циклический DNS. Все серверы имеют одно и то же имя, но разные IP-адреса. Клиенты выбирают случайный сервер.
- Используйте перенаправления для отправки пользователей на соответствующий сервер.
- Используйте Anycast. Все сервера имеют одинаковый IP. Из-за того, как работает маршрутизация, пользователи обычно подключаются к локальному.
Round Robin DNS и перенаправления, как правило, можно настроить самостоятельно. Для Anycast вам нужно будет либо самостоятельно объявить BGP в нескольких регионах, либо подключиться к нескольким интернет-провайдерам по всему миру.
Другой отличной идеей было бы просто проигнорировать проблему и поставить перед собой такой сервис, как Cloudflare или Akami, и позволить им заниматься балансировкой нагрузки. Если вам нужен больший контроль, вы также можете разместить контент в облачном решении, таком как Azure или Google Cloud, где вам в меньшей степени придется беспокоиться о загрузке для получения вещей из хранилища BLOB-объектов.
Что делают ваши правила
С вашими правилами вы переписываете адресата пакета и отправляете его на другой сервер. В добавление ты замаскировать их, так что бэкенд-серверам кажется, что пакет пришел с вашего фронтенда. Бэкенд по долгу службы отвечает, отправляя ответный пакет обратно вашему интерфейсу, который ищет в своей таблице, откуда пришло это соединение, и отправляет пакет исходному клиенту. Сервер, который на самом деле является маршрутизатором, должен касаться пакетов для перезаписи заголовков, и все пакеты должны проходить через этот сервер.
Во многих случаях такая установка может иметь большой смысл. Маршрутизировать большой трафик довольно просто, и его легко и надежно настроить. Это позволяет обеспечить высокую доступность, когда вы отключаете серверы, которые не отвечают, и для нагрузок, которые не сохраняют состояние, чрезвычайно легко увеличить пропускную способность - до тех пор, пока ваш маршрутизатор может обрабатывать объем трафика.