Разделы презентаций


Типичные ошибки и проблемы при построении отказоустойчивости и масштабирования презентация, доклад

Содержание

Евгений ПотаповКруглосуточное администрирование и техническая поддержка веб-сайтов100 миллионов уникальных посетителей в суткиШтат – 50 человекОфисы – Иркутск, Санкт-Петербург

Слайды и текст этой презентации

Слайд 1Типичные ошибки и проблемы при построении отказоустойчивости и масштабирования и

их решение

Типичные ошибки и проблемы при построении отказоустойчивости и масштабирования и их решение

Слайд 2Евгений Потапов
Круглосуточное администрирование и техническая поддержка веб-сайтов
100 миллионов уникальных посетителей

в сутки
Штат – 50 человек
Офисы – Иркутск, Санкт-Петербург

Евгений ПотаповКруглосуточное администрирование и техническая поддержка веб-сайтов100 миллионов уникальных посетителей в суткиШтат – 50 человекОфисы – Иркутск,

Слайд 3На поддержке

На поддержке

Слайд 4Содержание
Как растет нагрузка? Что именно надо масштабировать?
Способы масштабирования нагрузки
Способы построения

отказоустойчивости
Проблемы, которые возникают при построении отказоустойчивых и масштабируемых систем.
Все это

чуть чуть с примерами как это происходит
СодержаниеКак растет нагрузка? Что именно надо масштабировать?Способы масштабирования нагрузкиСпособы построения отказоустойчивостиПроблемы, которые возникают при построении отказоустойчивых и

Слайд 5Как растут нагрузки?
Плановый рост посещаемости
Всплески траффика – внезапные (промокампании)
Всплески траффика

– ожидаемые (высокий сезон)

Как растут нагрузки?Плановый рост посещаемостиВсплески траффика – внезапные (промокампании)Всплески траффика – ожидаемые (высокий сезон)

Слайд 6Плановый рост посещаемости
Можем предсказать рост на ближайшие месяцы и оценить

потребности в ресурсах
Как растут нагрузки?

Плановый рост посещаемостиМожем предсказать рост на ближайшие месяцы и оценить потребности в ресурсахКак растут нагрузки?

Слайд 7Как растут нагрузки
Возможность запланировать аппаратные ресурсы: «через два месяца у

нас будет в два раза больше траффика»
Возможность подготовить кодовую базу

к масштабированию
Все изменения принимаются планово, имеется возможность хорошо протестировать
Бывает редко 

Плановый рост посещаемости Специфика принятия решений

Как растут нагрузкиВозможность запланировать аппаратные ресурсы: «через два месяца у нас будет в два раза больше траффика»Возможность

Слайд 8Как растут нагрузки
Рост нагрузки в 2 раза за 30 минут
Внезапные

всплески траффика

Как растут нагрузкиРост нагрузки в 2 раза за 30 минутВнезапные всплески траффика

Слайд 9Как растут нагрузки
Внезапные всплески траффика
Рост нагрузки в 2 раза за

30 минут

Как растут нагрузкиВнезапные всплески траффикаРост нагрузки в 2 раза за 30 минут

Слайд 10Как растут нагрузки
Очень резкий всплеск посещаемости – от роста нагрузки

до предела возможностей - минуты
Приток траффика не постоянный и не

дает возможности заложить большой срок разработки
При такой скорости изменений велик риск допустить ошибку

Внезапные всплески траффика Специфика принятия решений

Как растут нагрузкиОчень резкий всплеск посещаемости – от роста нагрузки до предела возможностей - минутыПриток траффика не

Слайд 11Масштабирование – немного ликбеза

Масштабирование – немного ликбеза

Слайд 12Масштабирование – немного ликбеза
Вертикальное масштабирование
Увеличиваем возможности системы, увеличивая аппаратные характеристики

в пределах одного сервера: Технически просто, но часто – не даст

многократный запас
Масштабирование – немного ликбезаВертикальное масштабированиеУвеличиваем возможности системы, увеличивая аппаратные характеристики в пределах одного сервера: Технически просто, но

Слайд 13Масштабирование – немного ликбеза
Горизонтальное масштабирование
Увеличиваем возможности системы, добавляя новые серверы

и балансируя нагрузку между ними Позволяет неограниченно увеличивать ресурсы системы, но

требует вмешательства в архитектуру
Масштабирование – немного ликбезаГоризонтальное масштабированиеУвеличиваем возможности системы, добавляя новые серверы и балансируя нагрузку между ними Позволяет неограниченно

Слайд 14Вертикальное масштабирование – гибридное облако
Большую часть времени проект работает на

основном «железе»
В облаках подготовлен сервер минимальной конфигурации
В случае пиковой нагрузки

или аварии сервер в облаках масштабируется, посетители переводятся на него
Вертикальное масштабирование – гибридное облакоБольшую часть времени проект работает на основном «железе»В облаках подготовлен сервер минимальной конфигурацииВ

Слайд 15Гибридное облако – стандартный режим

Гибридное облако – стандартный режим

Слайд 16Гибридное облако – увеличение посещаемости

Гибридное облако – увеличение посещаемости

Слайд 17Гибридное облако – масштабирование облака

Гибридное облако – масштабирование облака

Слайд 18Гибридное облако – перевод пользователей (смена DNS)

Гибридное облако – перевод пользователей (смена DNS)

Слайд 19Гибридное облако – работа под нагрузкой

Гибридное облако – работа под нагрузкой

Слайд 20Гибридное облако – снижение нагрузки

Гибридное облако – снижение нагрузки

Слайд 21Гибридное облако – перевод пользователей обратно

Гибридное облако – перевод пользователей обратно

Слайд 22Гибридное облако – снижение конфигурации облака

Гибридное облако – снижение конфигурации облака

Слайд 23Вертикальное масштабирование - проблемы
Рано или поздно – ресурсы будут исчерпаны,

а масштабировать дальше уже не получится При этом, чаще всего, рост

нагрузки не пропорционален росту посещаемости
Вертикальное масштабирование - проблемыРано или поздно – ресурсы будут исчерпаны, а масштабировать дальше уже не получится При

Слайд 24Вертикальное масштабирование - проблемы
При этом сайт становится недоступным для всех

пользователей (не только для той части что превысила возможности системы)

Вертикальное масштабирование - проблемыПри этом сайт становится недоступным для всех пользователей (не только для той части что

Слайд 25Горизонтальное масштабирование – что масштабируется
Нагрузка на веб-приложение – CPU
Производительность базы

данных – CPU/диски
Объем статических данных – место на диске
Чаще всего:

Горизонтальное масштабирование – что масштабируетсяНагрузка на веб-приложение – CPUПроизводительность базы данных – CPU/дискиОбъем статических данных – место

Слайд 26Масштабирование веб-серверов

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

Слайд 27Горизонтальное масштабирование веб-приложения
Сессии
Синхронность обновлений кода
Контроль ошибок
Главные проблемы

Горизонтальное масштабирование веб-приложенияСессииСинхронность обновлений кодаКонтроль ошибокГлавные проблемы

Слайд 28Горизонтальное масштабирование веб-приложения
Единое место хранения сессий - проблемы
Если один серверов пула

«потеряет» центральное хранилище сессий и будет работать сам по себе

– проверяющий (или мониторинг) может не обнаружить проблему, а последовательность действий пользователя будет обрываться
Горизонтальное масштабирование веб-приложенияЕдиное место хранения сессий - проблемыЕсли один серверов пула «потеряет» центральное хранилище сессий и будет

Слайд 29Горизонтальное масштабирование веб-приложения
Единое место хранения сессий

Горизонтальное масштабирование веб-приложенияЕдиное место хранения сессий

Слайд 30Горизонтальное масштабирование веб-приложения
Единое место хранения сессий - проблемы

Горизонтальное масштабирование веб-приложенияЕдиное место хранения сессий - проблемы

Слайд 31Горизонтальное масштабирование веб-приложения
Синхронизация обновлений кода - проблемы
Если один серверов пула не

получит новую версию кода – проверяющий (или мониторинг) может не

обнаружить проблему, пользователь может получить старую версию сайта, а код может повредить всю систему в целом, работая со старыми схемами БД
Горизонтальное масштабирование веб-приложенияСинхронизация обновлений кода - проблемыЕсли один серверов пула не получит новую версию кода – проверяющий

Слайд 32Горизонтальное масштабирование веб-приложения
Синхронизация обновлений кода

Горизонтальное масштабирование веб-приложенияСинхронизация обновлений кода

Слайд 33Горизонтальное масштабирование веб-приложения
Синхронизация обновлений кода - проблемы

Горизонтальное масштабирование веб-приложенияСинхронизация обновлений кода - проблемы

Слайд 34Горизонтальное масштабирование веб-приложения
Ошибки в веб-приложении - проблемы
Если один серверов в результате

ошибки конфигурации (кончилось место, неправильно настроен софт)/самого приложения (PHP –

ошибки apc/eaccelerator, падения пула бэкэнда) приложение на одном из бэкэндов упало – мониторинг может не обнаружить проблемы
Горизонтальное масштабирование веб-приложенияОшибки в веб-приложении - проблемыЕсли один серверов в результате ошибки конфигурации (кончилось место, неправильно настроен

Слайд 35Горизонтальное масштабирование веб-приложения
Ошибки в веб-приложении - проблемы

Горизонтальное масштабирование веб-приложенияОшибки в веб-приложении - проблемы

Слайд 36Горизонтальное масштабирование веб-приложения
Ошибки связанные с масштабированием веб-приложения решения
Система мониторинга должна внешне проверять

каждый из узлов пула веб-серверов в отдельности
Каждая такая проверка должна

включать проверку существования сессии и возможность выполнения критичных для сайта пользовательских действий
Необходим мониторинг журналов ошибок на каждом сервере с оповещениями о всплесках ошибок на каком-либо из них
Горизонтальное масштабирование веб-приложенияОшибки связанные с масштабированием веб-приложения решенияСистема мониторинга должна внешне проверять каждый из узлов пула веб-серверов

Слайд 37Горизонтальное масштабирование веб-приложения
Ошибки связанные с масштабирование веб-приложения решения – индивидуальный мониторинг

Горизонтальное масштабирование веб-приложенияОшибки связанные с масштабирование веб-приложения решения – индивидуальный мониторинг

Слайд 38Горизонтальное масштабирование веб-приложения
Ошибки связанные с масштабирование веб-приложения решения – сбор количества 5xx

ошибок

Горизонтальное масштабирование веб-приложенияОшибки связанные с масштабирование веб-приложения решения – сбор количества 5xx ошибок

Слайд 39Горизонтальное масштабирование Базы данных
Ошибки связанные с репликацией - целостность репликации
Ошибки связанные

с репликацией - время синхронизации данных
Ошибки связанные с шардингом -

распределение данных
Горизонтальное масштабирование Базы данныхОшибки связанные с репликацией - целостность репликацииОшибки связанные с репликацией - время синхронизации данныхОшибки

Слайд 40Горизонтальное масштабирование Базы данных
Целостность репликации данных - проблемы
При балансировке чтения базы

репликацией нормальный статус репликации еще не означает синхронизации всех данных

и рабочей репликации
Горизонтальное масштабирование Базы данныхЦелостность репликации данных - проблемыПри балансировке чтения базы репликацией нормальный статус репликации еще не

Слайд 41Горизонтальное масштабирование Базы данных
Целостность репликации данных - проблемы

Горизонтальное масштабирование Базы данныхЦелостность репликации данных - проблемы

Слайд 42Горизонтальное масштабирование Базы данных
Целостность репликации данных - проблемы

Горизонтальное масштабирование Базы данныхЦелостность репликации данных - проблемы

Слайд 43Горизонтальное масштабирование Базы данных
Целостность репликации данных - проблемы

Горизонтальное масштабирование Базы данныхЦелостность репликации данных - проблемы

Слайд 44Горизонтальное масштабирование Базы данных
Целостность репликации данных - проблемы

Горизонтальное масштабирование Базы данныхЦелостность репликации данных - проблемы

Слайд 45Горизонтальное масштабирование Базы данных
Время синхронизации данных - проблемы
Запись созданная в мастер-БД

не моментально окажется в БД, принимающей репликацию. Если пользователь пишет

в мастер, а затем сразу читает из слейва – есть шанс, что записи там не будет
Горизонтальное масштабирование Базы данныхВремя синхронизации данных - проблемыЗапись созданная в мастер-БД не моментально окажется в БД, принимающей

Слайд 46Горизонтальное масштабирование Базы данных
Время синхронизации данных - проблемы

Горизонтальное масштабирование Базы данныхВремя синхронизации данных - проблемы

Слайд 47Горизонтальное масштабирование Базы данных
Время синхронизации данных - проблемы

Горизонтальное масштабирование Базы данныхВремя синхронизации данных - проблемы

Слайд 48Горизонтальное масштабирование Базы данных
Время синхронизации данных - проблемы

Горизонтальное масштабирование Базы данныхВремя синхронизации данных - проблемы

Слайд 49Горизонтальное масштабирование Базы данных
Время синхронизации данных - проблемы

Горизонтальное масштабирование Базы данныхВремя синхронизации данных - проблемы

Слайд 50Горизонтальное масштабирование Базы данных
Следует следить не только за работой репликации но

и за идентичностью данных на серверах БД(контрольные суммы критических таблиц)
Не

следует пытаться читать только что записанные данные, это должно быть некое неизменное в короткое время ядро (например каталог товаров)
Если необходимо масштабировать пользовательский контент, который часто обновляется – лучше использовать шардинг

Ошибки связанные с репликацией решения

Горизонтальное масштабирование Базы данныхСледует следить не только за работой репликации но и за идентичностью данных на серверах

Слайд 51Горизонтальное масштабирование Базы данных
Ошибки связанные с шардингом - проблемы
В случае, если

один из shard-серверов упадет или начнет медленнее отвечать, система мониторинга

может не отследить такую аварию – запросы могут попадать на остальные серверы
Неправильно выбранная архитектура распределения данных может привести к тому, что вся нагрузка ляжет только на один из серверов, а остальные будут простаивать
Горизонтальное масштабирование Базы данныхОшибки связанные с шардингом - проблемыВ случае, если один из shard-серверов упадет или начнет

Слайд 52Горизонтальное масштабирование Базы данных
Ошибки связанные с шардингом – медленный шард

Горизонтальное масштабирование Базы данныхОшибки связанные с шардингом – медленный шард

Слайд 53Горизонтальное масштабирование Базы данных
Ошибки связанные с шардингом – медленный шард

Горизонтальное масштабирование Базы данныхОшибки связанные с шардингом – медленный шард

Слайд 54Горизонтальное масштабирование Базы данных
Ошибки связанные с шардингом - решения
Индивидуальный мониторинг работы

каждого shard-сервера. Если серверы разделены по пользователям – создание тестового

пользователя для каждого shard-сервера.
Мониторинг ошибок приложения
Мониторинг нагрузки и количества данных на shard-серверах
Горизонтальное масштабирование Базы данныхОшибки связанные с шардингом - решенияИндивидуальный мониторинг работы каждого shard-сервера. Если серверы разделены по

Слайд 55Горизонтальное масштабирование другие вопросы
Синхронизация статических данных/распределенные файловые системы
Контроль целостности данных при

failover-е.
Централизация важных функций на одном из серверов
Проблемы связанные с масштабированием

кэширования
Горизонтальное масштабирование другие вопросыСинхронизация статических данных/распределенные файловые системыКонтроль целостности данных при failover-е.Централизация важных функций на одном из

Слайд 56Выводы
Основной способ защитится – грамотно настроенный мониторинг
Фатальность ошибки обратно пропорционально

скорости реакции
Один раз настроить – нельзя, нужна постоянная диагностика

ВыводыОсновной способ защитится – грамотно настроенный мониторингФатальность ошибки обратно пропорционально скорости реакцииОдин раз настроить – нельзя, нужна

Слайд 57Евгений Потапов

http://itsumma.ru
eapotapov@itsumma.ru
http://facebook.com/eapotapov


Типичные ошибки при построении масштабирования и отказоустойчивости и их

решения

Евгений Потаповhttp://itsumma.rueapotapov@itsumma.ruhttp://facebook.com/eapotapovТипичные ошибки при построении масштабирования и отказоустойчивости и их решения

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика