chernyshov_nikita_lab_7 is ready

This commit is contained in:
Никита Чернышов 2024-12-15 17:15:35 +04:00
parent 5dd9e26f07
commit 69c86ef744

View File

@ -0,0 +1,27 @@
# Лабораторная работа 7: Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах
### Задание
Написать небольшое эссе (буквально несколько абзацев) своими словами (пожалуйста не пользуйтесь гуглом :).
  1. Какие алгоритмы и методы используются для балансировки нагрузки?
  2. Какие открытые технологии существуют для балансировки нагрузки?
  3. Как осуществляется балансировка нагрузки на базах данных?
  4. Реверс-прокси как один из элементов балансировки нагрузки.
***
# Эссе:
## **Балансировка нагрузки в распределённых системах**
**Балансировка нагрузки** — это способ распределить работу между серверами так, чтобы система не тормозила, даже если пользователей или задач становится много. Чтобы всё работало плавно, используются разные алгоритмы. Например, Round Robin, где запросы распределяются по серверам по очереди, или алгоритмы, которые выбирают самый свободный сервер. Такие штуки помогают не перегружать систему, особенно когда нагрузки становится больше.
Сейчас есть много готовых инструментов, которые помогают с этим справляться, например, NGINX, HAProxy и другие. Они автоматически берут на себя задачу распределения запросов, чтобы каждый сервер получал свою долю нагрузки. Это удобно, потому что самому разбираться с этим с нуля было бы долго и сложно.
Если речь идёт о базах данных, то там балансировка ещё важнее, потому что базы всегда под большой нагрузкой. Чтобы ускорить работу, данные либо разбивают на части (шарды), либо делают копии (реплики). Это позволяет, например, отправлять запросы на чтение в одну копию, а на запись — в другую, чтобы сервера не загружались одновременно всем подряд.
**Реверс-прокси** — это важный элемент балансировки. Он как посредник: принимает запросы от пользователей и перенаправляет их на нужные сервера. Но на этом его роль не заканчивается. Реверс-прокси может также кэшировать часто запрашиваемые данные, сжимать их для ускорения передачи и даже защищать систему от перегрузок, например, от DDoS-атак.
Всё это делает систему устойчивой и помогает ей работать быстрее. Балансировка — это, по сути, способ справляться с увеличением нагрузки без потери производительности и стабильности.