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