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