Балансировка нагрузки и кеширование
балансировщики распределяют трафик, кеши снимают нагрузку с БД и вычислений.
Почему это важно: Большинство масштабирования начинается не с добавления серверов, а с правильного кеширования и балансировки.
Главная идея
Кеш — самый дешёвый способ ускорить систему. Балансировка обеспечивает равномерную нагрузку.
Как это выглядит на практике
- Популярная страница генерируется 200 мс.
- Добавили кеш Redis с TTL 5 минут — страница отдаётся за 5 мс.
- Нагрузка на БД упала в 40 раз.
- Балансировщик равномерно распределяет запросы на 4 инстанса.
Что происходит под капотом
- Уровни кеша: CDN, reverse proxy (Varnish, nginx), application cache (Redis), БД кеш.
- Стратегии инвалидации: TTL, event-based, manual.
- Балансировка L4 (TCP/UDP) vs L7 (HTTP) — разные возможности.
- Sticky sessions привязывают клиента к одному инстансу, но мешают масштабированию.
Типичные ошибки и заблуждения
- Ошибка: кеш всё ускоряет. Неправильный кеш может ухудшить performance из-за stale data.
- Ошибка: балансировщик — это просто раздатчик. Современные LB делают health checks, rate limiting, TLS termination.
- Ошибка: кешировать всё. Это приводит к сложной инвалидации и багам.
- Ошибка: sticky sessions — лучшая практика. Они мешают элегантному масштабированию.
Ключевые выводы
- Кеш — главный ускоритель backend-систем.
- Инвалидация — сложнейшая проблема в кешировании.
- Балансировщики делают больше, чем распределение запросов.
- Множественные уровни кеша работают вместе.
Термины урока
Связь с работой backend-разработчика
Перед тем как добавлять серверы, проверьте, что у вас есть кеширование и оптимизированные запросы. Часто это решает 80% проблем.
Мини-разбор реальной ситуации
API тормозил при 1000 RPS. Добавление Redis-кеша на hot-данные снизило нагрузку на БД в 10 раз. Добавление серверов не потребовалось ещё полгода.
Что запомнить
- Кеш раньше серверов.
- Инвалидация — сложнее, чем кажется.
- LB — не только распределитель, но и защитник.
Итог
Балансировка и кеширование — базовые инструменты масштабирования, и часто их достаточно.
Комментарии к уроку
Войдите, чтобы оставить комментарий.
Пока нет комментариев — будьте первым.