.. | ||
README.md |
Отчет по лабораторной работе №7
Выполнил студент гр. ИСЭбд-41 Миронов Е.О.
Задачи
Написать небольшое эссе (буквально несколько абзацев) своими словами. А помогут Вам в этом вопросы из списка:
- Какие алгоритмы и методы используются для балансировки нагрузки?
- Какие открытые технологии существуют для балансировки нагрузки?
- Как осуществляется балансировка нагрузки на базах данных?
- Реверс-прокси как один из элементов балансировки нагрузки.
Эссе
Смысл всех алгоритмов балансировки сводится к тому, чтобы равномерно распределить нагрузку на все сервера. Существует множество разных алгоритмов, но в основном они подразделяется на 2 вида:
- Статические - запросы распределяются на сервера независимо от их загруженности.
- Динамические - запросы отправляются на наименее загруженный сервер
Способы балансировки тоже бывают разными.
- Балансировка на низком уровне. Имею ввиду 3-4 уровень модели OSI (не помню как называются), протоколами DNS и DHCP. Как пример такую балансировку можно настроить на маршрутизаторе. Думаю туда же подойдет поднятый на сервере NAT или низкоуровневый прокси.
- Балансировка на прикладном уровне. Здесь подойдет любой веб-сервер. Ngnix, apache, iis, kestrel. По факту тот же прокси, но на протоколе HTTP.
В контексте баз данных встречаются 2 понятия.
- Репликация. Поднимаются несколько копий БД и постоянно синхронизируются. К примеру существует способ репликации при котором 1 экземпляр БД работает на изменение данных (вставка, изменение, удаление), а 2 экземпляр только на чтение. В целом от обычной балансировки особо не отличается.
- Шардирование. Одна копия БД разбивается на части, которые работают на разных серверах.
Реверс-прокси - тип прокси при котором один внешний запрос транслируется на один или несколько внутренних серверов. Описал до этого