Презентация Проектирование высоко-нагруженных систем. Лекция 3 онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Проектирование высоко-нагруженных систем. Лекция 3 абсолютно бесплатно. Урок-презентация на эту тему содержит всего 51 слайд. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Проектирование высоко-нагруженных систем. Лекция 3



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    51 слайд
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    1.08 MB
  • Просмотров:
    158
  • Скачиваний:
    0
  • Автор:
    неизвестен



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

№1 слайд
Проектирование
Содержание слайда: Проектирование высоконагруженных систем Лекция №3 Быков Александр

№2 слайд
HighLoad. Лекция
Содержание слайда: HighLoad. Лекция №3 Масштабируемость (англ. scalability) – способность системы справляться с увеличением рабочей нагрузки, при добавлении ресурсов, как правило аппаратных. Количественно можно оценить как отношение полученного роста производительности к увеличению кол-ва используемых ресурсов. Если отношение близко к единице то масштабирование называют линейным.

№3 слайд
HighLoad. Лекция
Содержание слайда: HighLoad. Лекция №3 Распределение нагрузки на множество серверов бесполезно без возможности распределять нагрузку в нужных пропорциях (балансировать). Если из-за дисбаланса вся нагрузка попадает на один сервер то никакой масштабируемости быть не может.

№4 слайд
HighLoad. Лекция Доставить
Содержание слайда: HighLoad. Лекция №3 Доставить процессоров, памяти, дисков Купить более мощный сервер Купить еще более мощный сервер (очень дорого) Соотношение роста производительности на вложенные деньги стремительно падает с выходом за пределы массовых конфигураций Наступит момент когда все равно не хватит

№5 слайд
HighLoad. Лекция Разнести
Содержание слайда: HighLoad. Лекция №3 Разнести нагрузку на несколько серверов Возможно там где нет/мало общих ресурсов Часто требует изменений в системе Возрастает сложность поддержки На больших масштабах дает снижение TCO* *TCO – Total Cost of Ownership (совокупная стоимость владения)

№6 слайд
HighLoad. Лекция Балансировка
Содержание слайда: HighLoad. Лекция №3 Балансировка нагрузки

№7 слайд
HighLoad. Лекция Алгоритмы
Содержание слайда: HighLoad. Лекция №3 Алгоритмы балансировки

№8 слайд
HighLoad. Лекция Бекенды
Содержание слайда: HighLoad. Лекция №3 Бекенды получают запросы по очереди в одном и том же порядке (циклическое расписание). Веса: A – 10 B – 10 C – 10 “ABC” – расписание запросов

№9 слайд
HighLoad. Лекция Бекенды
Содержание слайда: HighLoad. Лекция №3 Бекенды получают запросы пропорционально весам согласно расписанию. Веса: A – 50% B – 20% C – 10% “AAAAABBC” – расписание с пиками “ABAABAAC” – расписание равномерное

№10 слайд
HighLoad. Лекция Достоинства
Содержание слайда: HighLoad. Лекция №3 Достоинства: Равномерный RPS на бекендах Подходит: Запросы одинаковой стоимости Запросы небольшой стоимости

№11 слайд
HighLoad. Лекция Формула N
Содержание слайда: HighLoad. Лекция №3 Формула: N (номер сервера) = Hash(IP) % M (количество бекендов) Возможные варианты: HASH (src ip) HASH (src ip + src port) HASH (src ip + src port + dst ip + dst port) * * Можно предсоздать много бакетов и балансировать RR

№12 слайд
HighLoad. Лекция Достоинства
Содержание слайда: HighLoad. Лекция №3 Достоинства: Отсутствие состояния на балансировщике Запросы одного пользователя попадают на один бекенд Недостатки: Дисбаланс Перераспределение пользователей при смене

№13 слайд
HighLoad. Лекция При
Содержание слайда: HighLoad. Лекция №3 При изменении состава бекендов мигрирует минимально-возможное количество пользователей. Пример: http://nginx.org/en/docs/http/ngx_http_upstream_module.html#hash

№14 слайд
HighLoad. Лекция DNS Routing
Содержание слайда: HighLoad. Лекция №3 DNS Routing L4 (IP) L7 (HTTP)

№15 слайд
HighLoad. Лекция GSLB Global
Содержание слайда: HighLoad. Лекция №3 GSLB – Global Scale Load Balancing LSLB – Local Scale Load Balancing

№16 слайд
HighLoad. Лекция DNS сервер
Содержание слайда: HighLoad. Лекция №3 DNS сервер отвечает несколькими адресами При следующем ответе сдвигает список на 1 позицию Клиенты обычно берут первый адрес из списка Windows Vista когда появилась брала «ближайший» Короткий TTL чтобы отключать упавшие сервера

№17 слайд
HighLoad. Лекция Достоинства
Содержание слайда: HighLoad. Лекция №3 Достоинства: Простота и дешевизна Минимальная нагрузка на DNS сервер Отсутствие одной точки входа Небольшое добавление отказоустойчивости

№18 слайд
HighLoad. Лекция Недостатки
Содержание слайда: HighLoad. Лекция №3 Недостатки: Ограниченное кол-во серверов в UDP-ответе Игнорирование TTL на кеширующих серверах Долгое отключение упавшего сервера Сильный дисбаланс между серверами Windows Vista берет «ближайший» адрес а не первый Невозможен взвешенный Round-Robin

№19 слайд
HighLoad. Лекция mail.ru
Содержание слайда: HighLoad. Лекция №3 mail.ru

№20 слайд
HighLoad. Лекция vk.com
Содержание слайда: HighLoad. Лекция №3 vk.com

№21 слайд
HighLoad. Лекция www.yandex.ru
Содержание слайда: HighLoad. Лекция №3 www.yandex.ru

№22 слайд
HighLoad. Лекция google.com
Содержание слайда: HighLoad. Лекция №3 google.com

№23 слайд
HighLoad. Лекция Выдает один
Содержание слайда: HighLoad. Лекция №3 Выдает один случайный адрес в ответе Взвешенный Round-Robin

№24 слайд
HighLoad. Лекция Сервер
Содержание слайда: HighLoad. Лекция №3 Сервер выдает адрес ближайшего к пользователю ДЦ Сервер видит адрес Resolver а не конечного клиента Возможные пути решения проблемы: DNS сервер 8.8.8.8 от Google Google предлагает добавить в DNS-запрос IP клиента

№25 слайд
HighLoad. Лекция Сервер
Содержание слайда: HighLoad. Лекция №3 Сервер выдает адрес ближайшего к пользователю ДЦ c с минимальным RTT Сервер видит адрес Resolver а не конечного клиента Пример: AWS Route 53

№26 слайд
HighLoad. Лекция BGP Anycast
Содержание слайда: HighLoad. Лекция №3 BGP Anycast

№27 слайд
HighLoad. Лекция Недостатки
Содержание слайда: HighLoad. Лекция №3 Недостатки: Сложность конфигурации и поддержки Поломка соединений при перескоке трафика между ДЦ Необходима своя AS и сеть /24*

№28 слайд
HighLoad. Лекция Cisco CSS L
Содержание слайда: HighLoad. Лекция №3 Cisco CSS (L4) Cisco ACE (L7) F5 BIG-IP Citrix NetScaler Radware ADC

№29 слайд
HighLoad. Лекция LVS Linux
Содержание слайда: HighLoad. Лекция №3 LVS (Linux Virtual Server) Nginx HAProxy ATS

№30 слайд
HighLoad. Лекция Virtual
Содержание слайда: HighLoad. Лекция №3 Virtual Server via NAT Virtual Server via IP Tunneling Virtual Server via Direct Routing

№31 слайд
HighLoad. Лекция Layer
Содержание слайда: HighLoad. Лекция №3 Layer 4: Virtual Server via NAT

№32 слайд
HighLoad. Лекция Плюсы
Содержание слайда: HighLoad. Лекция №3 Плюсы: Сервера могут быть в разных физических сетях Минусы: Большая нагрузка на процессор Весь обратный трафик идет через балансер

№33 слайд
HighLoad. Лекция Layer
Содержание слайда: HighLoad. Лекция №3 Layer 4: Virtual Server via IP Tunneling

№34 слайд
HighLoad. Лекция Плюсы
Содержание слайда: HighLoad. Лекция №3 Плюсы: Сервера могут быть в разных физических сетях Высокая производительность Минусы: Дополнительная нагрузка на процессор Сложная настройка инкапсуляции

№35 слайд
HighLoad. Лекция Layer
Содержание слайда: HighLoad. Лекция №3 Layer 3: Virtual Server via Direct Routing

№36 слайд
HighLoad. Лекция Плюсы
Содержание слайда: HighLoad. Лекция №3 Плюсы: Высокая производительность Минусы: Сервера должны быть в одной физической сети

№37 слайд
HighLoad. Лекция Программный
Содержание слайда: HighLoad. Лекция №3 Программный монитор доступности нод Сигнализирует балансеру при падении/подъемы ноды Умеет VRRP/CARP резервирование нод между собой

№38 слайд
HighLoad. Лекция Отвечает на
Содержание слайда: HighLoad. Лекция №3 Отвечает на PING Принимает соединение на порт Отвечает на простой HEAD или GET запрос Отвечает на специальный запрос (cgi-bin/ping)

№39 слайд
HighLoad. Лекция То же самое
Содержание слайда: HighLoad. Лекция №3 То же самое что для для балансинга между ДЦ Требует настройки на сетевом оборудовании Требует специального размещения оборудования

№40 слайд
HighLoad. Лекция HTTP Reverse
Содержание слайда: HighLoad. Лекция №3 HTTP Reverse Proxy: TCP multiplexing Persistence / Sticky sessions / Client affinity Кеширование SSL Termination Gzip Гибкие настройки для учета бизнес-логики

№41 слайд
HighLoad. Лекция Плюсы
Содержание слайда: HighLoad. Лекция №3 Плюсы: Высокая гибкость конфигурации Надежное резервирование Равномерное распределение нагрузки Решение проблемы медленных клиентов Минусы: Относительно низкая производительность Необходима модификация ПО для приема X-Real-IP

№42 слайд
HighLoad. Лекция
Содержание слайда: HighLoad. Лекция №3 (Оптимизационная задача) Проблемы: Небольшой timeout: обрежем долгие живые запросы Большой timeout: затормозим обычные запросы Идеи: Использование квантилей для выбора значения Разные настройки для разных типов запросов

№43 слайд
HighLoad. Лекция Алгоритм
Содержание слайда: HighLoad. Лекция №3 Алгоритм выбора другого (следующего) бекенда в случае отказа текущего в процессе обработки запроса На примере nginx: proxy_next_upstream <список ситуаций> proxy_next_upstream_timeout proxy_next_upstream_tries

№44 слайд
HighLoad. Лекция Варианты DNS
Содержание слайда: HighLoad. Лекция №3 Варианты: DNS L4 L7 на отдельных серверах L7 локальный на клиенте (aka sidecar proxy)

№45 слайд
HighLoad. Лекция Session
Содержание слайда: HighLoad. Лекция №3 Session cache – работает в пределах одного IP Session tickets – поддерживают не все браузеры Perfect Forward Secrecy (PFS) Application Transport Security (ATS) в iOS 9 Let’s Encrypt – бесплатные SSL-сертификаты

№46 слайд
HighLoad. Лекция Почти также
Содержание слайда: HighLoad. Лекция №3 Почти также дешев как DNS Увеличивает задержку на каждый запрос Имеет единую точку отказа Хорош для выдачи ближайшего к пользователю сервера

№47 слайд
HighLoad. Лекция Выдаем в
Содержание слайда: HighLoad. Лекция №3 Выдаем в приложении прямые ссылки на сервера Обеспечиваем балансировку и отказоустойчивость При хорошей реализации одно из самых эффективных решений Минусы: Неудобно программировать Раскрываем внутреннее устройство проекта

№48 слайд
HighLoad. Лекция Выбор
Содержание слайда: HighLoad. Лекция №3 Выбор сервера в коде страницы в браузере Легко обеспечить отказоустойчивость запросив другой сервер Минусы: Плохо совместим с AJAX из-за crossdomain policy

№49 слайд
HighLoad. Лекция Уносим форум
Содержание слайда: HighLoad. Лекция №3 Уносим форум на отдельный домен Уносим статику на отдельный домен И так далее… Минусы: Сложно администрировать Легко попасть на неделимый кусок сайта

№50 слайд
HighLoad. Лекция Домашнее
Содержание слайда: HighLoad. Лекция №3 Домашнее задание №2

№51 слайд
СПАСИБО ЗА ВНИМАНИЕ Быков
Содержание слайда: СПАСИБО ЗА ВНИМАНИЕ Быков Александр bykov@corp.mail.ru

Скачать все slide презентации Проектирование высоко-нагруженных систем. Лекция 3 одним архивом: