Merge pull request 'podkorytova_yulia_lab_7 is ready' (#109) from podkorytova_yulia_lab_7 into main

Reviewed-on: http://student.git.athene.tech/Alexey/DAS_2023_1/pulls/109
This commit is contained in:
Alexey 2024-01-13 09:40:39 +04:00
commit a311037d8d

View File

@ -0,0 +1,32 @@
# Лабораторная работа 7. Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах
### Задание на лабораторную работу
Написать небольшое эссе (буквально несколько абзацев) своими словами.
1. Какие алгоритмы и методы используются для балансировки нагрузки?
2. Какие открытые технологии существуют для балансировки нагрузки?
3. Как осуществляется балансировка нагрузки на базах данных?
4. Реверс-прокси как один из элементов балансировки нагрузки.
***
### Эссе
Балансировка нагрузки в распределённых системах применяется применяется для обеспечения равномерного распределения
работы и ресурсов между компонентами системы. Это позволяет достичь повысить отказоустойчивость и обеспечить высокую
роизводительность системы. Для достижения равномерного распределения нагрузки используются различные алгоритмы и методы.
Алгоритмы для балансировки нагрузки:
- циклический перебор (распределяет запросы между серверами по очереди);
- взвешенный циклический перебор (каждый сервер имеет вес в зависимости от его производительности, более мощные сервера
берут на себя больше запросов);
- наименьшее количество подключений (запросы направляются на сервер с наименьшим количеством активных соединений).
Существуют открытые технологий для балансировки нагрузки в распределенных системах, которые могут распределять запросы
между несколькими серверами. К таким технологиям можно отнести Nginx (веб-сервер, который обеспечивает высокую
производительность и отличается низким потреблением ресурсов и широкими возможностями) и Apache HTTP Server (позволяет
обеспечить отказоустойчивость).
Балансировка нагрузки на базах данных может осуществляться при помощи репликации данных - синхронизации содержимого
нескольких копий базы данных, или шардирования, при котором база данных разделена на несколько шардов, где каждый шард
содержит часть данных.
Реверс-прокси - это один из элементов балансировки нагрузки, который может использоваться для маршрутизации запросов от
клиентов к различным серверам. Реверс-прокси принимает запросы от клиентов и перенаправляет их к наиболее подходящему
серверу в зависимости от текущей нагрузки. Примером реверс-прокси является Nginx.