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