Иногда, когда проект вырастает до больших размеров, ему требуется масштабируемость, целью которой является, повышение производительности системы.
Масштабируесть бывает 2х видов: горизонтальная и вертикальная.
Вертикальная осуществляется за счет увеличения ресурсов самого сервера, например-добавление процессоров или оперативной памяти.
Горизонтальная осуществляется за счет увеличения количества серверов.
Как-то я уже писал про технологию балансировки сетевой нагрузки WEB серверов, в статье
Балансировка сетевой нагрузки с помощью Nginx, там система работала на одном балансировщике и 3х WEB серверах, также в качестве примера была представлена схема работы mail.ru, доступ к которой осуществлялся через 4 маршрутизатора, но что находилось за ними, для нас осталось тайной. В этой статье я попытаюсь немного рассказать о том как осуществляется работа похожей схемы. Также, крайне рекомендую, ознакомиться со статьей по настройке
DNS-сервера BIND, на ее основе будет поднят тестовый DNS сервер, 3 сервера поднимать нет необходимости, в качестве тестового полигона нам хватит и одного DNS сервера.
Читать дальше