Merge pull request 'alexandrov_dmitrii_lab_7 is ready' (#83) from alexandrov_dmitrii_lab_7 into main

Reviewed-on: http://student.git.athene.tech/Alexey/DAS_2023_1/pulls/83
This commit is contained in:
Alexey 2023-12-28 11:09:17 +04:00
commit a3d495ad1a

View File

@ -0,0 +1,20 @@
## Задание
Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах.
Написать небольшое эссе (буквально несколько абзацев) своими словами (пожалуйста не пользуйтесь гуглом :). А помогут Вам в этом вопросы из списка:
1. Какие алгоритмы и методы используются для балансировки нагрузки?
2. Какие открытые технологии существуют для балансировки нагрузки?
3. Как осуществляется балансировка нагрузки на базах данных?
4. Реверс-прокси как один из элементов балансировки нагрузки.
## Результат
Балансировка нагрузки - это управление распределением траффика между несколькими сервисами, системными компонентами. Необходимо для повышения надёжности и производительности системы.
Для балансировки нагрузки используются следующие методы: последовательная циклическая передача запросов по списку обработчиков, передача запросов в наименее загруженный обработчик, либо также, но с учётом его вместимости, передача запросов в обработчик с наименьшим временем отклика, передача запросов от одного источника одному серверу с обработчиками.
Для балансировки могут использоваться программы: прокси-сервера, например Nginx, в современных системах развёртки они могут быть "встроены" (Azure). Балансировка может быть реализована также на аппаратном уровне сетевых устройств, предоставляться облачными сервисами.
Для БД также есть прокси (PL/Proxy), на уровне серверов СУБД могут распределяться таблицы (по серверам) одной БД, либо даже расщепляться и распределяться отдельные таблицы. Вообще многое управление может быть решено на уровне выше СУБД - в приложениях, существуют специализированные приложения для синхронной и асинхронной работы с БД, в том числе такие, которые осуществляют распределение запросов.
Обратное прокси - это прокси, который работает вовнутрь системы. То есть, он ретранслирует запросы из внешней сети на подключённые сервера внутренней. Как элемент распределения нагрузки он важен, так как является тем узлом системы, через который будут проходить запросы, которые необходимо распределять. Соответственно многие решения реализуются на уровне прокси-серверов.