diff --git a/bogdanov_dmitry_lab_7/README.md b/bogdanov_dmitry_lab_7/README.md new file mode 100644 index 0000000..a92066b --- /dev/null +++ b/bogdanov_dmitry_lab_7/README.md @@ -0,0 +1,27 @@ +# Алгоритмы и методы балансировки нагрузки + +Балансировка нагрузки в распределенных системах применяется для обеспечения равномерного распределения работы и ресурсов между компонентами системы. Это позволяет достичь повышенной отказоустойчивости и обеспечить высокую производительность. + +Основные алгоритмы для балансировки нагрузки включают: + +- Циклический перебор (Round Robin): запросы распределяются между серверами по очереди. +- Взвешенный циклический перебор (Weighted Round Robin): каждый сервер имеет вес в зависимости от производительности, более мощные серверы берут на себя больше запросов. +- Наименьшее количество подключений (Least Connections): запросы направляются на сервер с наименьшим количеством активных соединений. + +## Открытые технологии для балансировки нагрузки + +Существуют открытые технологии для балансировки нагрузки в распределенных системах, которые могут распределять запросы между несколькими серверами. К таким технологиям можно отнести: + +NGINX: отлично подходящит для балансировки нагрузки на уровне HTTP/TCP. + +Kubernetes Ingress: управляет балансировкой в контейнерных средах. + +## Балансировка нагрузки на базах данных + +Метод репликации: синхронизация содержимого нескольких копий базы данных. Это достигается путем распределения запросов по копиям БД. + +Шардинг: разделение данных на логические части и хранение этих частей на разных серверах. Это позволяет равномерно распределить нагрузку. + +## Реверс-прокси как элемент балансировки нагрузки + +Реверс-прокси является одним из ключевых элементов системы балансировки нагрузки. Такой сервер выступает "посредником" в процессе обмена запросами. Он принимает запрос от пользователя, направляет его нужному серверу, а затем получает и передает ответ обратно пользователю. \ No newline at end of file