forked from Alexey/DAS_2024_1
turner_ilya_lab_7 is ready
This commit is contained in:
parent
3b9698ac38
commit
b454ad2bcc
35
turner_ilya_lab_7/README.md
Normal file
35
turner_ilya_lab_7/README.md
Normal file
@ -0,0 +1,35 @@
|
||||
# Лабораторная работа №7 - Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах
|
||||
## ПИбд-42 || Тюрнер Илья
|
||||
|
||||
### Задание:
|
||||
Написать небольшое эссе (буквально несколько абзацев) своими словами.
|
||||
|
||||
1. Какие алгоритмы и методы используются для балансировки нагрузки?
|
||||
2. Какие открытые технологии существуют для балансировки нагрузки?
|
||||
3. Как осуществляется балансировка нагрузки на базах данных?
|
||||
4. Реверс-прокси как один из элементов балансировки нагрузки.
|
||||
|
||||
### Эссе на тему: "Балансировка нагрузки в распределённых системах при помощи открытых технологий"
|
||||
Балансировка нагрузки - это очень важная задача при проектировании распределенных систем. Ее цель - грамотное распределение
|
||||
запросов/задач между серверами или узлами системы для того, чтобы минимизировать вероятность перегрузки одного из них.
|
||||
Для выполнения этой задачи существуют различные алгоритмы и методы. Их применяют, опираясь на специфику системы и требования
|
||||
к производительности.
|
||||
|
||||
Приведем примеры некоторых таких алогритмов. К одним из самых популярных относится "круговое распределение" (**Round Robin**) -
|
||||
запросы равномерно направляются на доступные серверы. Также довольно известно "взвешенное распределение" (**Weighted Round Robin**).
|
||||
Его отличие в том, что запросы отправляются на основе некоторых весов, обычно формируеммых из производительностей серверов.
|
||||
Ну и третьим можно выделить **Least Connections**. В первую очередь запросы отправляются на сервера с меньшим числом активных
|
||||
подключений.
|
||||
|
||||
Есть решения для балансировки нагрузки и среди открытых технологий. Яркие примеры: **Nginx**, **HAProxy** и **Kubernetes**.
|
||||
**Nginx** и **HAProxy** поддерживают балансировку, применяя различные алгоритмы. **Kubernetes** - это платформа для управления
|
||||
контейнерами со встроенными механизмами балансировки.
|
||||
|
||||
Есть иной подход к балансировке - на базах данных. Там применяют механизм **репликации**, т.е. запросы от пользователей
|
||||
распределяются по резличным копиям БД. Это повышает производительность и отказоустойчивость.
|
||||
|
||||
**Реверс-прокси** - это некий посредник между клиентом и серверными ресурсами. Он может кэшировать информацию, сжимать
|
||||
данные и фильтровать трафик. Примеры: **Nginx** и **Traefik**.
|
||||
|
||||
Можно сделать вывод, что балансировка нагрузки с помощью различных технологий и алгоритмов нужна для того, чтобы эффективно
|
||||
распределять ресурсы, повышать отказоустойчивость и масштабируемость различных распределенных систем.
|
Loading…
Reference in New Issue
Block a user