1
Jun 16, 2015
1
2
Масштабирование
веб-приложений
Олег Алистратов Руководитель офиса разработки в Киеве
Я.Студент, Киев, 2014
3
Зачем?
Высокая производительность
Высокая доступность
4
Мониторинг
o Системы мониторинга o Nagios, Zabbix, Cacti, Ganglia
o Объекты мониторинга o ОС и аппаратура
o Стороннее ПО (БД, веб-сервер)
o Собственное ПО
5
— Приборы? — Семнадцать!
6
Метрики
o SLA o Время ответа, p95: 300 мс
o Доля ошибок: 0,1%
7
Масштабирование
Вертикальное
Горизонтальное
8
Облака
o PaaS o Amazon WS
o GAE
o Частное облако o Cocaine api.yandex.ru/cocaine/
9
Архитектура
10
Хранение файлов
o rsync
o NFS
o NoSQL как хранилище файлов o Elliptics api.yandex.ru/elliptics/
11
Базы данных
o Репликация o master-slave
o multi-master
o Разделение таблиц
o Разделение данных (шардирование) o горизонтальное
o вертикальное
12
Трафик
13
Трафик
14
Прочее
o Сервис распределенных блокировок o Zookeeper
o Распределенная очередь задач o Celery
o Kafka
15
Тестирование
o Нагрузочное o JMeter
o Siege
o Яндекс.Танк github.com/yandex-load
o Интеграционное o Jenkins
o TeamCity
o Travis CI
16
Эксплуатация
o Служба конфигурирования
o Служба развертывания o Горячая замена кода
o Непрерывный мониторинг