main #3

Merged
Hlop4ik4 merged 237 commits from v.moiseev/distributed-computing:main into main 2024-01-06 17:16:53 +04:00
Showing only changes of commit d15b374999 - Show all commits

View File

@ -0,0 +1,28 @@
# Отчет по лабораторной работе №7
Выполнила студентка гр. ИСЭбд-41 Плаксина А.В.
# Эссе на тему балансировки нагрузки
Балансировка нагрузки в распределенных системах - это такой алгоритм, который помогает избежать перегрузки одних узлов системы и застоя других, что повышает производительность системы и ее отказоустойчивость.
Существует несколько методой балансировки нагрузки, например, такие как :
- раунд-робин, или по круговороту; запросы распределяются по серверам ко кругу
- взвешенное распределение, то есть с помощью весовых коэффициентов
- на основе состояния, здесь учитывается загрузка сервера
Также предусмотрены несколько открытых технологий для балансировки нагрузки, к примеру:
- nginx, веб и прокси сервер, поддерживает многие методы балансировки
- apache, имеет модуль mod_proxy_balancer, который позволяет распределить трафик между несколькими серверами.
- а также happroxy, varnish cache и docker swarm
Данные платформы включают в себя не только балансировку нагрузки, но и кэширование, оптимизацию и шифрование.
Процесс балансировки нагрузки на базах данных отличается от балансировки на серверах.важно принимать во внимание особенности SQL и NoSQL баз данных и выбрать один из методов распределения запросов. Такие как:
- репликация, когда запрос копируется на доступные серверы
- шардинг, такое разделение данных на несколько независимых фрагментов (шардов)
- кластеризация, объединение нескольких баз данных
Одним из ключевых элементом балансировки нагрузки является реверс - прокси. Они действуют как посредники между пользователями и серверами. Они используются как для и балансировки нагрузки, так и для кэширования данных, оптимизации производительности, аутентификации пользователей и защиты от вредоносных атак.
Подводя итоги, можно сказать, что балансировка нагрузки является очень важным элементом работы современных систем. Они позволяют улучшить производительность и стабильность систем.