web application scalability
TRANSCRIPT
Масштабированиевеб-приложений
Олег Алистратов
EXPERT LabsДнепропетровск, 2011
Зачем?
• Высокая производительность• Высокая доступность
Первые вопросы
Надо ли?А если надо, то когда?
Приборы, Петька!
Мониторинг
Мониторинг
Второй вопрос
Сколько денег?
Масштабирование
Вертикальное
Горизонтальное
СметаВид Стоимость Абонплата
Cloud 0 320
Dedicated server 0 250
Collocation 5000 96
• Окупаемость collocation: ≈ 3 года
Неполная загрузкаВид Стоимость Абонплата
Cloud 0 120
Dedicated server 0 250
Collocation 5000 96
• Деньги дешевеют• Оборудование тоже
Типичная архитектура
Балансировка веб-сервера
Распределяющий
узел
• SPoF
Балансировка на
стороне клиента
• Усложнение логики
• Меньшая гибкость
Приложение
• CORBA
• Gearman
• Erlang
Файлы
• rsync
• NFS
• NoSQL
База данных
• Репликация• Разделение таблиц• Разделение данных (шардинг)– горизонтально– вертикально
Репликация
• Single• Master-Slave• Master-Slaven
• Master-Master (Кластер БД)
Трафик
Внезапно!
Трафик SQL
SELECT * FROM table
SELECT fields FROM table WHERE …
Опять вопрос
И как всем этим управлять?
Инфраструктура
• Служба конфигурирования
• Автоматическое развертывание
• Непрерывный мониторинг
Из желудей и спичек
SQL-сервер:• lockd• Очередь сообщений• NoSQL хранилище
Спасибо!
Олег Алистратов[email protected]