distributed-computing/tasks/mironov-eo/lab_7/README.md
2023-12-16 11:12:30 +03:00

28 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Отчет по лабораторной работе №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. Шардирование. Одна копия БД разбивается на части, которые работают на разных серверах.
Реверс-прокси - тип прокси при котором один внешний запрос транслируется на один или несколько внутренних серверов. Описал до этого