Назад | Перейти на главную страницу

Описание балансировщика нагрузки

Я пытаюсь понять, как именно работает балансировка нагрузки на таких сайтах, как facebook / youtube, но у меня мало вопросов. Итак, прочитав много, я понял, что балансировка нагрузки выглядит так: Когда балансировщиком нагрузки должен быть сервер, который разделяет трафик между серверами.

Мой вопрос: если балансировщик нагрузки - это один сервер, который разделяет трафик между другими серверами, как такие сайты, как facebook / youtube, могут обрабатывать более 50000 запросов в секунду? Если балансировщик нагрузки является одиночным сервером, не умрет ли он, как он может маршрутизировать трафик со скоростью 10 Гбит / с или больше? И как этот балансировщик нагрузки знает, на каком сервере (например) находится видео XXXX?

Это изображение является хорошим первым приближением балансировки нагрузки, и для большинства сайтов этого будет более чем достаточно. Такие сайты, как google, youtube и facebook, могут и используют еще несколько уловок, вот некоторые из них, которые я уже использовал или планирую сделать для другого крупного сайта электронной коммерции:

  • Используйте DNS для распространения запросов на несколько балансировщиков нагрузки, даже на несколько центров обработки данных
  • Используйте комбинацию DNS и любых диапазонов IP-адресов / CDn для географического привлечения местного трафика
  • Пусть внешний балансировщик нагрузки выполняет только балансировку уровня 4 для большего количества балансировщиков нагрузки, и пусть они выполняют всю необходимую обработку уровня седьмого.

Эти приемы уровня 7 могут включать:

  • Привязка пользователя к серверу через cookie или URL
  • Правильное обнаружение контента и перенаправление
  • Аналитика для дальнейшего повышения производительности
  • Обнаружение и предотвращение злоупотреблений на уровне 7

Что касается второй части вопроса - балансировщик нагрузки либо имеет актуальную базу данных, которая содержит информацию о том, какой сервер может обрабатывать какой запрос, либо он может использовать некоторые сообщения внутреннего перенаправления с внутренних серверов.