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

Нажмите для полного просмотра!
Проектирование высоко-нагруженных систем. Лекция №3, слайд №1 Проектирование высоко-нагруженных систем. Лекция №3, слайд №2 Проектирование высоко-нагруженных систем. Лекция №3, слайд №3 Проектирование высоко-нагруженных систем. Лекция №3, слайд №4 Проектирование высоко-нагруженных систем. Лекция №3, слайд №5 Проектирование высоко-нагруженных систем. Лекция №3, слайд №6 Проектирование высоко-нагруженных систем. Лекция №3, слайд №7 Проектирование высоко-нагруженных систем. Лекция №3, слайд №8 Проектирование высоко-нагруженных систем. Лекция №3, слайд №9 Проектирование высоко-нагруженных систем. Лекция №3, слайд №10 Проектирование высоко-нагруженных систем. Лекция №3, слайд №11 Проектирование высоко-нагруженных систем. Лекция №3, слайд №12 Проектирование высоко-нагруженных систем. Лекция №3, слайд №13 Проектирование высоко-нагруженных систем. Лекция №3, слайд №14 Проектирование высоко-нагруженных систем. Лекция №3, слайд №15 Проектирование высоко-нагруженных систем. Лекция №3, слайд №16 Проектирование высоко-нагруженных систем. Лекция №3, слайд №17 Проектирование высоко-нагруженных систем. Лекция №3, слайд №18 Проектирование высоко-нагруженных систем. Лекция №3, слайд №19 Проектирование высоко-нагруженных систем. Лекция №3, слайд №20 Проектирование высоко-нагруженных систем. Лекция №3, слайд №21 Проектирование высоко-нагруженных систем. Лекция №3, слайд №22 Проектирование высоко-нагруженных систем. Лекция №3, слайд №23 Проектирование высоко-нагруженных систем. Лекция №3, слайд №24 Проектирование высоко-нагруженных систем. Лекция №3, слайд №25 Проектирование высоко-нагруженных систем. Лекция №3, слайд №26 Проектирование высоко-нагруженных систем. Лекция №3, слайд №27 Проектирование высоко-нагруженных систем. Лекция №3, слайд №28 Проектирование высоко-нагруженных систем. Лекция №3, слайд №29 Проектирование высоко-нагруженных систем. Лекция №3, слайд №30 Проектирование высоко-нагруженных систем. Лекция №3, слайд №31 Проектирование высоко-нагруженных систем. Лекция №3, слайд №32 Проектирование высоко-нагруженных систем. Лекция №3, слайд №33 Проектирование высоко-нагруженных систем. Лекция №3, слайд №34 Проектирование высоко-нагруженных систем. Лекция №3, слайд №35 Проектирование высоко-нагруженных систем. Лекция №3, слайд №36 Проектирование высоко-нагруженных систем. Лекция №3, слайд №37 Проектирование высоко-нагруженных систем. Лекция №3, слайд №38 Проектирование высоко-нагруженных систем. Лекция №3, слайд №39 Проектирование высоко-нагруженных систем. Лекция №3, слайд №40 Проектирование высоко-нагруженных систем. Лекция №3, слайд №41 Проектирование высоко-нагруженных систем. Лекция №3, слайд №42 Проектирование высоко-нагруженных систем. Лекция №3, слайд №43 Проектирование высоко-нагруженных систем. Лекция №3, слайд №44 Проектирование высоко-нагруженных систем. Лекция №3, слайд №45 Проектирование высоко-нагруженных систем. Лекция №3, слайд №46 Проектирование высоко-нагруженных систем. Лекция №3, слайд №47 Проектирование высоко-нагруженных систем. Лекция №3, слайд №48 Проектирование высоко-нагруженных систем. Лекция №3, слайд №49 Проектирование высоко-нагруженных систем. Лекция №3, слайд №50 Проектирование высоко-нагруженных систем. Лекция №3, слайд №51

Содержание

Вы можете ознакомиться и скачать презентацию на тему Проектирование высоко-нагруженных систем. Лекция №3. Доклад-сообщение содержит 51 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1


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

Слайд 2


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

Слайд 3


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

Слайд 4


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

Слайд 5


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

Слайд 6


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

Слайд 7


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

Слайд 8


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

Слайд 9


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

Слайд 10


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

Слайд 11


HighLoad. Лекция №3 Формула: N (номер сервера) = Hash(IP) % M (количество бекендов) Возможные варианты: HASH (src ip) HASH (src ip + src port) HASH...
Описание слайда:
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. Лекция №3 Достоинства: Отсутствие состояния на балансировщике Запросы одного пользователя попадают на один бекенд Недостатки: Дисбаланс...
Описание слайда:
HighLoad. Лекция №3 Достоинства: Отсутствие состояния на балансировщике Запросы одного пользователя попадают на один бекенд Недостатки: Дисбаланс Перераспределение пользователей при смене

Слайд 13


HighLoad. Лекция №3 При изменении состава бекендов мигрирует минимально-возможное количество пользователей. Пример:
Описание слайда:
HighLoad. Лекция №3 При изменении состава бекендов мигрирует минимально-возможное количество пользователей. Пример:

Слайд 14


HighLoad. Лекция №3 DNS Routing L4 (IP) L7 (HTTP)
Описание слайда:
HighLoad. Лекция №3 DNS Routing L4 (IP) L7 (HTTP)

Слайд 15


HighLoad. Лекция №3 GSLB – Global Scale Load Balancing LSLB – Local Scale Load Balancing
Описание слайда:
HighLoad. Лекция №3 GSLB – Global Scale Load Balancing LSLB – Local Scale Load Balancing

Слайд 16


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

Слайд 17


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

Слайд 18


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

Слайд 19


HighLoad. Лекция №3 mail.ru
Описание слайда:
HighLoad. Лекция №3 mail.ru

Слайд 20


HighLoad. Лекция №3 vk.com
Описание слайда:
HighLoad. Лекция №3 vk.com

Слайд 21


HighLoad. Лекция №3
Описание слайда:
HighLoad. Лекция №3

Слайд 22


HighLoad. Лекция №3 google.com
Описание слайда:
HighLoad. Лекция №3 google.com

Слайд 23


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

Слайд 24


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

Слайд 25


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

Слайд 26


HighLoad. Лекция №3 BGP Anycast
Описание слайда:
HighLoad. Лекция №3 BGP Anycast

Слайд 27


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

Слайд 28


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

Слайд 29


HighLoad. Лекция №3 LVS (Linux Virtual Server) Nginx HAProxy ATS
Описание слайда:
HighLoad. Лекция №3 LVS (Linux Virtual Server) Nginx HAProxy ATS

Слайд 30


HighLoad. Лекция №3 Virtual Server via NAT Virtual Server via IP Tunneling Virtual Server via Direct Routing
Описание слайда:
HighLoad. Лекция №3 Virtual Server via NAT Virtual Server via IP Tunneling Virtual Server via Direct Routing

Слайд 31


HighLoad. Лекция №3 Layer 4: Virtual Server via NAT
Описание слайда:
HighLoad. Лекция №3 Layer 4: Virtual Server via NAT

Слайд 32


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

Слайд 33


HighLoad. Лекция №3 Layer 4: Virtual Server via IP Tunneling
Описание слайда:
HighLoad. Лекция №3 Layer 4: Virtual Server via IP Tunneling

Слайд 34


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

Слайд 35


HighLoad. Лекция №3 Layer 3: Virtual Server via Direct Routing
Описание слайда:
HighLoad. Лекция №3 Layer 3: Virtual Server via Direct Routing

Слайд 36


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

Слайд 37


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

Слайд 38


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

Слайд 39


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

Слайд 40


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

Слайд 41


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

Слайд 42


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

Слайд 43


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

Слайд 44


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

Слайд 45


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

Слайд 46


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

Слайд 47


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

Слайд 48


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

Слайд 49


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

Слайд 50


HighLoad. Лекция №3 Домашнее задание №2
Описание слайда:
HighLoad. Лекция №3 Домашнее задание №2

Слайд 51


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



Похожие презентации
Mypresentation.ru
Загрузить презентацию