DAS_2024_1/aleikin_artem_lab_7/readme.md

24 lines
2.6 KiB
Markdown
Raw 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 - Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах
## ПИбд-42 || Алейкин Артем
### Определение балансировки нагрузки - процесс равномерного распределения запросов на разные узлы сервера для избежания перегрузки одного.
#### Алгоритмы и методы балансировки нагрузки
> 1. Round Robin (круговой): запросы распределяются по серверам последовательно.
> 2. Least Connections: запрос отправляется серверу с наименьшим количеством активных соединений.
> 3. Weighted Round Robin: серверам назначаются веса, которые определяют, сколько запросов каждый сервер может обработать.
#### Открытые технологии для балансировки нагрузки
> Nginx - самый популярный инструмент - работает как прокси сервер, а так же поддерживает алгоритмы балансировки.
> HAProxy
> Azure
#### Балансировка на базах данных
Один из подходов — разделение нагрузки на чтение и запись:
Запросы на чтение отправляются на реплики базы данных (read replicas).
Запросы на запись направляются на основную базу данных (master).
#### Реверс-прокси
Реверс-прокси выполняет роль посредника между клиентами и серверами, скрывая внутреннюю инфраструктуру и обеспечивая балансировку нагрузки.
Например, NGINX, работающий как реверс-прокси, может распределять запросы по серверам, кешировать данные, а также защищать систему от атак, таких как DDoS.
Преимущество реверс-прокси в том, что он объединяет множество функций: от балансировки до безопасности и ускорения доставки контента.