https://www.youtube.com/watch?v=uYhQ2ot3XFg&feature=emb_logo; Введение; 1:43:39; ОПИСАНИЕ КУРСА И ПЛАН ЗАНЯТИЙ. Понятие высокой нагрузки, высокой доступности. Единицы в которых измеряется нагрузка. Устройство типового сайта, LAMP-технология, Slashdot-эффект. Архитектура веб-сервера, сравнение архитектур apache/apache2/thttpd/nginx. Методы подключения динамического содержимого: CGI, FastCGI, UWSGI, mod_perl, mod_php, самописные модули, node.js, content_by_lua. Баланс между удобством разработки и производительностью.
https://www.youtube.com/watch?v=fI2S8zOWs9I&feature=emb_logo;Сетевая подсистема;2:17:19; СЕТЕВАЯ ПОДСИСТЕМА. Сетевые задержки, скорость света и расстояние между ДЦ, устройство TCP-handshake, packetloss и TCP-retransmit. Задержки бэкендов и клиентов, влияние на производительность и методы борьбы. Сетевые проблемы и различные рецепты (UDP, multicast, Jumbo-frames, socket на процесс, многопоточные сетевые карты). Тюнинг TCP/IP стека под высокую нагрузку.
https://www.youtube.com/watch?v=v7wMDH7R7nI&feature=emb_logo;Протокол HTTP; 1:57:21; ПРОТОКОЛ HTTP И ВЕБ-ОПТИМИЗАЦИЯ. Обзор возможностей HTTP и особенностей браузеров используемых для оптимизации времени загрузки страницы. Keep-alive, pipelining, deflate, chunked, несколько соединений на домен, cookies. Отдача статики: expires, версионификация, другой домен. Отдача динамики: cachebuster и анти-кеш заголовки. Проблемы HTTPS: handshake, session_cache.
https://www.youtube.com/watch?time_continue=3&v=0Im7ArJvV6Y&feature=emb_logo;Масштабирование нагрузки;1:55:35; МАСШТАБИРОВАНИЕ НАГРУЗКИ. Вертикальное и горизонтальное масштабирование. Шардинг, разделение быстрых и медленных запросов. Методы балансировки сетевой нагрузки, Round-Robin DNS, xixi DNS, L4-балансеры (Cisco CSS, LVS), L7-балансеры (Cisco ACE, LVS, nginx). Метод резервирования нагрузки — CARP. Метод борьбы с медленными клиентами — reverse proxy.
https://www.youtube.com/watch?v=AO8bzpXTRBE&feature=emb_logo;Оперативная память;1:08:36; ОПЕРАТИВНАЯ ПАМЯТЬ. Устройство физической памяти, организация кеширования, управление памятью в ОС Linux. Влияние на производительность. Обзор практических приемов работы с памятью позволяющих увеличить произвоительность.
https://www.youtube.com/watch?v=zbiAQrkgNJc&feature=emb_logo; Базы данных и дисковая подсистема; 2:41:29; БАЗЫ ДАННЫХ И ДИСКОВАЯ ПОДСИСТЕМА. Производительность линейного, случайного и конкурентного доступа. Структуру расходов на исполнение запроса, план запроса, full scan, временные таблицы, кеширование. Методы ускорения систем построенных на базах данных: тюнинг, репликация, шардинг, минимизация сетевой задержки, NoSQL, написание специализированной БД.
https://www.youtube.com/watch?time_continue=2&v=af_UkpkyJV8&feature=emb_logo; Типовые архитектурные решения; 2:26:06; ТИПОВЫЕ АРХИТЕКТУРНЫЕ РЕШЕНИЯ. Фронтенды и бэкенды, специализированные группы серверов по типам нагрузки. Кеширование. Управление конфигурацией и мониторинг. Оффлайновая обработка лог-файлов.
Студент должен найти описание и проанализировать архитектуру большого интернет-проекта, выделить положительные и отрицательные качества выбранных в данном проекте архитектурных решений.
https://www.youtube.com/watch?v=oPjxrxB7DSU&feature=emb_logo; Архитектура проектов Mail.Ru 1; 2:21:45; ПРАКТИЧЕСКИЕ ЗАНЯТИЕ №4. Прием домашнего задания 4.
https://www.youtube.com/watch?v=Tz3YZhvzi8I&feature=emb_logo; Архитектура проектов Mail.Ru 2; 1:23:12; ИТОГОВОЕ ЗАНЯТИЕ. Оценка знаний и навыков производится по результатам практической работы и теоретическим познаниям продемонстрированным на экзамене.