Similar presentations:
Принципы реализации высоконагруженных веб-сервисов
1. Принципы реализации высоконагруженных веб-сервисов
Доклад подготовили студенты 545 группыЧерненко М.Ю.
Бесчетников И.А.
Кулягин А.И.
Харьков 2017
2. Содержание
• Введение• Актуальность
• Требования
• Принципы реализации
• Выводы
• Список литературы
Харьков 2017
1
3. Введение
Высокнагруженные (hilghload) веб-сервисы - это приложение с высокойнагрузкой, которая возникает ввиду:
• большого количества одновременных пользователей
• большого объема обрабатываемых данных
• наличие многочисленных сложных расчётов и вычислений
Харьков 2017
2
4. Актуальность
Критические веб-сервисы:Харьков 2017
интернет-банкинг
онлайн-магазины
системы резервирования и продаж
туристических услуг
системы электронного бизнеса
Сервисы с нацеленностью на массовое
использование
социальные сети
органайзеры
платформы для ежедневного
использования
3
5. Требования к сервисам
• готовность (avaliability)• безотказность(reliability)
• безопасность(safety)
• конфиденциальность(confidentiality)
• целостность(integrity)
• отказоустойчивость(fault-tolerance)
Харьков 2017
4
6. Принципы реализации
Харьков 20175
7. Аппаратная реализация
• Масштабируемость• Резервирование
• Распределение
Харьков 2017
6
8. Масштабируемость
ВертикальнаяГоризонтальная
Харьков 2017
7
9. Распределение
All in oneВсе находится на одном сервер
Отделённая база данных
Отделённый веб-сервер
Харьков 2017
8
10. Программная реализация
Харьков 2017
Рефакторинг кода (устранение боттлнеков и улучшение программной
архитектуры)
Кеширование
Создание дополнительных backend узлов
Использование очереди задач
Файловые хранилища
и т.д.
9
11.
Дополнительные backend узлыКэширование
Использование очереди задач
Харьков 2017
10
12. Поддержка оффлайн-режима
Когда отключили интернетХарьков 2017
11
13. Требования к оффлайн версии
• Реализация минимального набора функция сервиса на клиенте• Хранение данных пользователя в локальных хранилищах
• Синхронизация данных с хранилищ с сервером при восстановлении
соединения
Харьков 2017
12
14. Выводы
На данный момент существует огромное количество решений,позволяющих добиться высокой надёжности и отказоустойчивости вебсервисов. В зависимости от поставленных задач и направления
деятельности проекта, можно подобрать оптимальный набор как
аппаратных так и программных улучшений для поддержки высокого
качества продукта.
Харьков 2017
13
15. Список литературы
Харьков 2017
1.Архитектура высоконагруженных приложений. Масштабирование
распределенных систем. [Электронный ресурс]
https://habrahabr.ru/company/badoo/blog/185220/
2. Чем стандартная архитектура отличается от архитектуры
высоконагруженных приложений? [Электронный ресурс]
http://hawkhouse.ru/blog/chem-standartnaya-arhitektura-otlichaetsya-otarhitektury-vysokonagruzhennyh-prilozhenij/
3. Архитектура высоконагруженных систем на примере Facebook
[Электронный ресурс] - http://alfalavista.ru/idxfldr/2013-06-18-22-25-47/324facebook-architecture.html/
14
16. Спасибо за внимание
Харьков 201715