web application scalability

23
Масштабирование веб-приложений Олег Алистратов EXPERT Labs Днепропетровск, 2011

Upload: oleg-alistratov

Post on 24-May-2015

570 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Web application scalability

Масштабированиевеб-приложений

Олег Алистратов

EXPERT LabsДнепропетровск, 2011

Page 2: Web application scalability

Зачем?

• Высокая производительность• Высокая доступность

Page 3: Web application scalability

Первые вопросы

Надо ли?А если надо, то когда?

Page 4: Web application scalability

Приборы, Петька!

Page 5: Web application scalability

Мониторинг

Page 6: Web application scalability

Мониторинг

Page 7: Web application scalability

Второй вопрос

Сколько денег?

Page 8: Web application scalability

Масштабирование

Вертикальное

Горизонтальное

Page 9: Web application scalability

СметаВид Стоимость Абонплата

Cloud 0 320

Dedicated server 0 250

Collocation 5000 96

• Окупаемость collocation: ≈ 3 года

Page 10: Web application scalability

Неполная загрузкаВид Стоимость Абонплата

Cloud 0 120

Dedicated server 0 250

Collocation 5000 96

• Деньги дешевеют• Оборудование тоже

Page 11: Web application scalability

Типичная архитектура

Page 12: Web application scalability

Балансировка веб-сервера

Распределяющий

узел

• SPoF

Балансировка на

стороне клиента

• Усложнение логики

• Меньшая гибкость

Page 13: Web application scalability

Приложение

• CORBA

• Gearman

• Erlang

Page 14: Web application scalability

Файлы

• rsync

• NFS

• NoSQL

Page 15: Web application scalability

База данных

• Репликация• Разделение таблиц• Разделение данных (шардинг)– горизонтально– вертикально

Page 16: Web application scalability

Репликация

• Single• Master-Slave• Master-Slaven

• Master-Master (Кластер БД)

Page 17: Web application scalability

Трафик

Page 18: Web application scalability

Внезапно!

Page 19: Web application scalability

Трафик SQL

SELECT * FROM table

SELECT fields FROM table WHERE …

Page 20: Web application scalability

Опять вопрос

И как всем этим управлять?

Page 21: Web application scalability

Инфраструктура

• Служба конфигурирования

• Автоматическое развертывание

• Непрерывный мониторинг

Page 22: Web application scalability

Из желудей и спичек

SQL-сервер:• lockd• Очередь сообщений• NoSQL хранилище

Page 23: Web application scalability

Спасибо!

Олег Алистратов[email protected]