DAS_2024_1/aleikin_artem_lab_7/readme.md

2.6 KiB
Raw Blame History

Лабораторная работа 7 - Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах

ПИбд-42 || Алейкин Артем

Определение балансировки нагрузки - процесс равномерного распределения запросов на разные узлы сервера для избежания перегрузки одного.

Алгоритмы и методы балансировки нагрузки

  1. Round Robin (круговой): запросы распределяются по серверам последовательно.
  2. Least Connections: запрос отправляется серверу с наименьшим количеством активных соединений.
  3. Weighted Round Robin: серверам назначаются веса, которые определяют, сколько запросов каждый сервер может обработать.

Открытые технологии для балансировки нагрузки

Nginx - самый популярный инструмент - работает как прокси сервер, а так же поддерживает алгоритмы балансировки. HAProxy Azure

Балансировка на базах данных

Один из подходов — разделение нагрузки на чтение и запись: Запросы на чтение отправляются на реплики базы данных (read replicas). Запросы на запись направляются на основную базу данных (master).

Реверс-прокси

Реверс-прокси выполняет роль посредника между клиентами и серверами, скрывая внутреннюю инфраструктуру и обеспечивая балансировку нагрузки. Например, NGINX, работающий как реверс-прокси, может распределять запросы по серверам, кешировать данные, а также защищать систему от атак, таких как DDoS. Преимущество реверс-прокси в том, что он объединяет множество функций: от балансировки до безопасности и ускорения доставки контента.