DAS_2024_1/presnyakova_victoria_lab_7
2024-11-18 18:56:40 +04:00
..
readme.md lab 7 done 2024-11-18 18:56:40 +04:00

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

Задание

Написать небольшое эссе (буквально несколько абзацев) своими словами (пожалуйста не пользуйтесь гуглом :). А помогут Вам в этом вопросы из списка:

  1. Какие алгоритмы и методы используются для балансировки нагрузки?
  2. Какие открытые технологии существуют для балансировки нагрузки?
  3. Как осуществляется балансировка нагрузки на базах данных?
  4. Реверс-прокси как один из элементов балансировки нагрузки.

Балансировка нагрузки

Балансировка нагрузки распределяет запросы между серверами для повышения производительности и устойчивости. Популярные алгоритмы:

  • Round Robin — поочередное распределение запросов.
  • Least Connections — выбор наименее загруженного сервера.
  • Weighted Round Robin — учет мощности сервера при распределении.

Технологии

Для реализации используются инструменты, такие как:

  • NGINX — веб-сервер и реверс-прокси с функциями балансировки.
  • HAProxy — высокопроизводительный прокси для сложных сценариев.
  • Traefik — интеграция с контейнерными оркестраторами.

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

Для распределения нагрузки в базах данных применяют:

  • Репликация:
    • Мастер-слейв — чтение с реплик, запись через мастер.
    • Мастер-мастер — запись и чтение на нескольких серверах.
  • Инструменты: ProxySQL для динамического распределения запросов.

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

Реверс-прокси, например NGINX, принимает клиентские запросы и перенаправляет их на серверы. Это улучшает:

  • Производительность.
  • Безопасность.
  • Скрытие внутренней архитектуры системы.