Ответ
-
Балансировка нагрузки (Load Balancing)
Распределение запросов между несколькими серверами с помощью балансировщика (Nginx, HAProxy, AWS ALB). -
Шардинг (Sharding)
Разделение данных по разным серверам (например, по ID пользователя). -
Репликация (Replication)
Копирование данных на несколько серверов для чтения (Master-Slave). -
Микросервисы (Microservices)
Разделение приложения на независимые сервисы, которые можно масштабировать отдельно. -
Кеширование (Caching)
Использование Redis/Memcached для снижения нагрузки на БД.
Пример на Go с балансировкой через httputil.ReverseProxy:
proxy := httputil.NewSingleHostReverseProxy(targetURL)
http.ListenAndServe(":8080", proxy)