Компьютерные науки

Проектирование высоконагруженных систем

Программа об архитектуре и методах проектирования отказоустойчивых программных систем, способных выдерживать высокие нагрузки.
Студентов 1176 Выпускников 41 Для специалистов
690 ₽ 1 200 ₽
или любая сумма на ваше усмотрение
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.
Объем

36 час.
Длительность

30 дней
Нагрузка в неделю

9 час.
Формат обучения

Дистанционно (самостоятельно)
Описание Учебный курс посвящен архитектурным решениям и методам оптимизации при проектировании высоконагруженных проектов. В материалах подробно разбираются механизмы работы веб-серверов, технологии балансировки нагрузки на различных уровнях сетевой модели и стратегии масштабирования баз данных посредством репликации и шардинга. Особое внимание уделено работе с кэшированием, управлению ресурсами процессора и памяти, а также анализу сетевых задержек. Курс адресован архитекторам программного обеспечения и системным администраторам.
Цели
  • Сформировать понимание принципов работы высоконагруженных веб-систем.
  • Развить умение проектировать масштабируемую архитектуру серверных приложений.
  • Раскрыть методы оптимизации баз данных и балансировки сетевой нагрузки.
Чему я научусь?
  • Проектировать архитектуру веб-проектов с учетом высоких нагрузок.
  • Настраивать балансировку нагрузки и алгоритмы кэширования.
  • Применять методы вертикального и горизонтального масштабирования.
  • Использовать репликацию и шардинг для оптимизации работы с базами данных.

Авторы

Быков Александр
Быков Александр
Чему я научусь?
  • Проектировать архитектуру веб-проектов с учетом высоких нагрузок.
  • Настраивать балансировку нагрузки и алгоритмы кэширования.
  • Применять методы вертикального и горизонтального масштабирования.
  • Использовать репликацию и шардинг для оптимизации работы с базами данных.

Учебный план

Занятия
Экзамен экстерном Внимание! Экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите подтвердить свои знания по данному курсу без его изучения или поверить свои знания по нему. Экзамен экстерном можно сдать только один раз. 90 мин
1 Надёжность сайта, нагрузка на сайт
2 Обзор популярных WEB-серверов интернета и LAMP архитектуры
3 Динамическое формирование WEB-страниц (сервер приложений)
4 Устройство WEB-сервера
5 Вопросы
Вопросы тест для курса Проектирование высоконагруженных систем 50 мин
6 Общие понятия о пропускной способности
7 Устройство TCP
8 Установка TCP соединения
9 Потери пакетов
10 Недостатки TCP/IP
11 Протокол UDP
12 Организационный фактор сетевых задержек
13 Некоторые детали маршутизации
14 Тюнинг TCP
15 Домашнее задание
Домашнее задание тест для курса Проектирование высоконагруженных систем 60 мин
16 Загрузка web-страницы
17 Повторная загрузка страницы
18 Управление кэшированием
19 Conditional Get
20 Редиректы
21 Сookies
22 Способы оптимизация работы сайта
23 Снова Cookies
24 AJAX
25 Домашнее чтение
Домашнее чтение тест для курса Проектирование высоконагруженных систем 60 мин
26 Масштабирование нагрузки
27 Вертикальное и горизонтальное масштабирование
28 Балансировка нагрузки, алгоритмы балансировки
29 Технология Round-Robin DNS
30 xixi DNS, Geo Based DNS
31 Аппаратная балансировка
32 Программная балансировка
33 Балансировка на сетевом уровне
34 Исключение серверов из балансировщиков, VRRP/CARP
35 Проверка работоспособности серверов
36 Использование протокола BGP для балансировки
37 Уровень 7 балансировки
38 Балансировка с использованием редиректа
39 Балансировка на уровне приложений
40 Client based балансировка
41 Распределение функционала по разным серверам
Распределение функционала по разным серверам тест для курса Проектирование высоконагруженных систем 55 мин
42 Быстродействие и память
43 Организация доступа к памяти в компьютерах
44 Типы памяти
45 Кэширование оперативной памяти для процессора
46 Как устроен сам кэш
47 Время доступа к данным
48 Память используемая на нескольких процессорах, prefetch
49 Измерения скорости доступа к памяти
50 SSD диски и flash память
SSD диски и flash память тест для курса Проектирование высоконагруженных систем 45 мин
51 Жёсткие диски, общие понятия
52 Особенности работы жёстких дисков
53 Дисковые массивы
54 Аппаратная и программная реализация дисковых массивов
55 Файловые системы
56 LVM
57 Базы данных
58 MySQL репликация
59 Некоторые особенности MySQL
60 Добавление столбца в таблицу
61 Проблемы одной большой базы
62 Шардинг
63 Общие правила
64 Пример LiveJournal - шардинг, репликация, кэширование
Пример LiveJournal - шардинг, репликация, кэширование тест для курса Проектирование высоконагруженных систем 55 мин
65 Front-end и Back-end
66 Разбивка страниц на группы
67 Функциональные группы серверов
68 Сложность и надёжность
69 Выбор компонент
70 Выбор технологий и языков программирования
71 Оптимизация узких мест
72 Graceful degradation
73 Обработка ошибок при обработке запроса
74 Отложенная обработка
75 Запись о обработка логов. Мониторинг
76 Выкатка новых версий
77 Слежение за производительностью
Слежение за производительностью тест для курса Проектирование высоконагруженных систем 50 мин
78 Архитектура проектов Mail.ru
79 Главная страница
80 Imagine
81 Lite
82 SWA
83 Почта
84 Почтовый фронтенд
85 Perl
86 Storages
87 Проблемы
88 Mail.ru Агент
89 Сервис foto.mail.ru
90 Сервис blogs.mail.ru
91 Сервис video.mail.ru
92 Сервис my.mail.ru
93 MyMail
94 Opengraph
95 silverdialogues + silverdsp
96 raker + silverhistory
97 Silversearch
98 Tarantul
99 queued
queued тест для курса Проектирование высоконагруженных систем 60 мин
100 Рекламная система
101 Архитектура версии 1 рекламной системы
102 SSI фронтенд
103 Lite фронтенд
104 Perl фронтенд
105 Рекламный фронтенд
106 rbstatd
107 rbdatad
108 thttpd-rb
109 Изменения в архитектуре рекламной системы (2004 - 2012)
110 Серверные профили
111 Бинарные логи
112 Проблемы существующей версии
113 Таргет
114 Графики
Графики тест для курса Проектирование высоконагруженных систем 50 мин
Тренировочный экзамен Внимание! Тренировочный экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите проверить свои знания курса перед сдачей экзамена. Тренировочный экзамен можно сдавать сколько угодно один раз. 90 мин
Экзамен 60 мин

Какой документ я получу?

Сертификат

Выдаётся автоматически после успешного завершения программы.

Удостоверение о повышении квалификации

Выдается при наличии среднего специального или высшего образования (необходимые документы).

Стоимость программы

690 ₽ 1 200 ₽
или любая сумма на ваше усмотрение
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.