Проверяет понимание концепции горизонтального масштабирования, ключевого подхода для обеспечения отказоустойчивости и производительности распределенных систем.
Горизонтальное масштабирование (scale out) — это подход к увеличению производительности системы, при котором добавляются новые вычислительные узлы (серверы, контейнеры, инстансы) в существующий пул ресурсов. В отличие от вертикального масштабирования (scale up), где улучшается один сервер (больше RAM, мощнее CPU), горизонтальное масштабирование распределяет нагрузку между множеством машин, работающих как единая система.
Представьте, что у вас есть один сервер с веб-приложением. Когда приходит 1000 запросов в секунду, он перегружается. При горизонтальном масштабировании вы добавляете второй, третий и т.д. серверы, каждый из которых запускает копию приложения. Перед ними ставится балансировщик нагрузки (например, Nginx или HAProxy), который распределяет входящие запросы между серверами. База данных также может масштабироваться горизонтально через шардирование (разбиение данных на части) или репликацию.
upstream backend {
server 192.168.1.10:3000;
server 192.168.1.11:3000;
server 192.168.1.12:3000;
}
server {
listen 80;
location / {
proxy_pass http://backend;
}
}В этом примере Nginx распределяет запросы между тремя серверами. Если один выходит из строя, трафик автоматически перенаправляется на остальные.
Горизонтальное масштабирование — основа современных облачных систем. Оно обеспечивает гибкость, отказоустойчивость и возможность обрабатывать растущие нагрузки без простоев. Применяйте его, когда требуется высокая доступность и предсказуемый рост трафика.