Я не могу понять, как работает балансировщик нагрузки. Скажем например на облачных серверах Rackspace.
Это правильно? Где мне узнать об этом подробнее?
Это зависит от ваших настроек. Однако базовая настройка балансировки нагрузки включает один сервер базы данных. В книге Django, в главе о Развертывание Django, есть простая диаграмма, иллюстрирующая базовую конфигурацию балансировки нагрузки.
По сути, все компьютеры, создающие веб-страницы, используют одну и ту же базу данных, которая хранится на выделенном сервере. Медиа-файлы (например, CSS и изображения) могут храниться на одном сервере или на отдельном выделенном медиа-сервере, хотя эту роль может выполнять сам балансировщик нагрузки.
Однако в расширенных настройках, нацеленных на действительно высокий трафик или много статического контента, вы можете захотеть обслуживать статические файлы на нескольких разных медиа-серверах. Наконец, вы можете захотеть настроить распределенную базу данных, но это вводит совершенно новый класс проблем, и это действительно другая тема (например, у вас может быть распределенная база данных без использования балансировщика нагрузки).
Балансировка нагрузки распределяет нагрузку на два ваших экземпляра. Следовательно, один экземпляр не выполняет всю работу.
Существует несколько реализаций балансировки нагрузки, каждая со своим подходом, который дает определенные преимущества в зависимости от их специализации.
Чтобы понять специфику реализации, необходимо определить саму реализацию.