Ответ
Скейлинг — это способность приложения обрабатывать растущую нагрузку. Бывает двух типов:
Вертикальный — увеличение мощности сервера (CPU, RAM). Просто, но имеет физические ограничения.
Пример: запуск сервиса на более мощном инстансе AWS.
Горизонтальный — добавление новых серверов. Сложнее, но безгранично. Требует балансировки нагрузки и синхронизации состояния.
// Пример горизонтального скейлинга с балансировкой
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Response from instance: %s", os.Getenv("INSTANCE_ID"))
})
http.ListenAndServe(":8080", nil)
}
Ключевые технологии: Kubernetes, Docker Swarm, Nginx для балансировки, Redis для shared state.